Timeline
Apr 18, 2022:
- 11:38 PM Changeset in webkit [293008] by
-
- 2 edits in trunk/Source/WebCore
Remove the PlatformMediaEngineClassName macro
βhttps://bugs.webkit.org/show_bug.cgi?id=239384
Reviewed by Philippe Normand.
Remove the PlatformMediaEngineClassName macro used in the MediaPlayer
implementation file. It's only used for two media engines.
For GStreamer, the code can be simplified and grouped under a single
if-block. For USE_MEDIA_FOUNDATION, the relevant call can similarly be
guarded by the corresponding build guards.
- platform/graphics/MediaPlayer.cpp:
(WebCore::WTF_REQUIRES_LOCK):
- 10:26 PM Changeset in webkit [293007] by
-
- 5 edits in trunk/LayoutTests
[WebGPU] Unskip api/validation/createSampler.html π
βhttps://bugs.webkit.org/show_bug.cgi?id=239448
Reviewed by Darin Adler.
Turns out we were already passing it.
- http/tests/webgpu/webgpu/api/validation/createSampler-expected.txt:
- platform/ios-device-wk1/TestExpectations:
- platform/ios-simulator-wk1/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 8:25 PM Changeset in webkit [293006] by
-
- 22 edits5 adds in trunk
AX: Update the isolated tree in response to AXElementBusyChanged and AXTextChanged notifications
βhttps://bugs.webkit.org/show_bug.cgi?id=239434
Reviewed by Chris Fleizach.
Source/WebCore:
We need to update the isolated tree in response to these notifications.
This patch also makes AccessibilityNodeObjects (e.g. for display:contents elements)
properly report AXCoreObject::isBusy by moving AccessibilityRenderObject's implementation
to AccessibilityNodeObject. This also required AccessibilityRenderObject::elementAttributeValue
to move as well.
Tests: accessibility/text-updates-after-dynamic-change.html
accessibility/aria-busy-updates-after-dynamic-change.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isBusy const):
Moved from AccessibilityRenderObject.
(WebCore::AccessibilityNodeObject::elementAttributeValue const):
Moved from AccessibilityRenderObject.
- accessibility/AccessibilityNodeObject.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setElementAttributeValue):
Delete this method as it was unused.
(WebCore::AccessibilityRenderObject::elementAttributeValue const):
Moved to AccessibilityNodeObject.
(WebCore::AccessibilityRenderObject::isBusy const):
Moved to AccessibilityNodeObject.
- accessibility/AccessibilityRenderObject.h:
Tools:
Added necessary tooling to enable querying AX object busy state for
the test added with this patch.
- DumpRenderTree/AccessibilityUIElement.cpp:
(getIsBusyCallback):
(AccessibilityUIElement::getJSClass):
- DumpRenderTree/AccessibilityUIElement.h:
- DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::isBusy const):
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::isBusy const):
- DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::isBusy const):
- WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:
(WTR::AccessibilityUIElement::isBusy const):
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::isBusy const):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::isBusy const):
- WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp:
(WTR::AccessibilityUIElement::isBusy const):
LayoutTests:
- accessibility/text-updates-after-dynamic-change-expected.txt: Added.
- accessibility/text-updates-after-dynamic-change.html: Added.
- accessibility/aria-busy-updates-after-dynamic-change-expected.txt: Added.
- accessibility/aria-busy-updates-after-dynamic-change.html: Added.
- platform/glib/TestExpectations:
Skip new test.
- platform/ios/TestExpectations:
Enable new tests.
- platform/ios/accessibility/text-updates-after-dynamic-change-expected.txt: Added.
- platform/win/TestExpectations:
Skip aria-busy-updates-after-dynamic-change.html.
- 7:45 PM Changeset in webkit [293005] by
-
- 37 edits in trunk
Implement CSSTransformValue.is2D
βhttps://bugs.webkit.org/show_bug.cgi?id=239462
Patch by Alex Christensen <βachristensen@webkit.org> on 2022-04-18
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssMatrixComponent.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssRotate.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssScale.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssTransformValue.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/cssPerspective.tentative-expected.txt:
Source/WebCore:
This is an off-by-default feature.
Covered by WPT tests.
- bindings/js/JSCSSTransformComponentCustom.cpp:
(WebCore::toJSNewlyCreated):
- css/typedom/CSSNumericValue.cpp:
(WebCore::CSSNumericValue::rectifyNumberish):
- css/typedom/CSSNumericValue.h:
- css/typedom/numeric/CSSNumericType.h:
(WebCore::CSSNumericType::valueForType const):
(WebCore::CSSNumericType::nonZeroEntryCount const):
(WebCore::CSSNumericType::matches const):
(WebCore::CSSNumericType::matchesNumber const):
- css/typedom/transform/CSSMatrixComponent.cpp:
(WebCore::CSSMatrixComponent::create):
(WebCore::CSSMatrixComponent::CSSMatrixComponent):
- css/typedom/transform/CSSMatrixComponent.h:
(WebCore::CSSMatrixComponent::create): Deleted.
- css/typedom/transform/CSSMatrixComponent.idl:
- css/typedom/transform/CSSRotate.cpp:
(WebCore::CSSRotate::create):
(WebCore::CSSRotate::CSSRotate):
(WebCore::CSSRotate::setX):
(WebCore::CSSRotate::setY):
(WebCore::CSSRotate::setZ):
(WebCore::CSSRotate::setAngle):
- css/typedom/transform/CSSRotate.h:
(WebCore::CSSRotate::x):
(WebCore::CSSRotate::y):
(WebCore::CSSRotate::z):
(WebCore::CSSRotate::setX): Deleted.
(WebCore::CSSRotate::setY): Deleted.
(WebCore::CSSRotate::setZ): Deleted.
(WebCore::CSSRotate::setAngle): Deleted.
- css/typedom/transform/CSSScale.cpp:
(WebCore::CSSScale::create):
(WebCore::CSSScale::CSSScale):
- css/typedom/transform/CSSScale.h:
(WebCore::CSSScale::x const):
(WebCore::CSSScale::y const):
(WebCore::CSSScale::z const):
(WebCore::CSSScale::x): Deleted.
(WebCore::CSSScale::y): Deleted.
(WebCore::CSSScale::z): Deleted.
- css/typedom/transform/CSSTransformComponent.cpp:
(WebCore::CSSTransformComponent::toString const):
(WebCore::CSSTransformComponent::toMatrix): Deleted.
- css/typedom/transform/CSSTransformComponent.h:
(WebCore::CSSTransformComponent::CSSTransformComponent):
(WebCore::CSSTransformComponent::getType const): Deleted.
- css/typedom/transform/CSSTransformValue.cpp:
(WebCore::CSSTransformValue::create):
(WebCore::CSSTransformValue::setItem):
(WebCore::CSSTransformValue::is2D const):
(WebCore::CSSTransformValue::setIs2D): Deleted.
- css/typedom/transform/CSSTransformValue.h:
- css/typedom/transform/CSSTranslate.h:
- 5:54 PM Changeset in webkit [293004] by
-
- 2 edits in trunk/LayoutTests
[iOS] fast/events/touch/force-press-event.html fails on iPhones with top safe area insets
βhttps://bugs.webkit.org/show_bug.cgi?id=239475
Reviewed by Darin Adler.
Adjust this test so that it simulates a force press over the center of the target element.
- platform/iphone-7/fast/events/touch/force-press-event.html:
- 5:50 PM Changeset in webkit [293003] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick r292858. rdar://problem/90699078
[web-animations] REGRESSION(r291527): assertion hit during teardown of document with CSS Animations
βhttps://bugs.webkit.org/show_bug.cgi?id=239291
rdar://90699078
Reviewed by Dean Jackson.
Source/WebCore:
When a CSS Animation is not considered to be relevant anymore, it is removed from both AnimationTimeline::m_animations
and Styleable::animations(). However, if that animation becomes relevant again, it will be added back to the associated
effect stack as well as AnimationTimeline::m_animations but not to Styleable::animations().
This causes a problem because when eventually that CSS Animation's target is removed from the tree, such as during
document teardown, Styleable::cancelDeclarativeAnimations() will be called an iterate over Styleable::animations()
to find declarative animations to cancel. Since the CSS animation was not added to Styleable::animations(), it will
not be canceled and the associated effect will not be removed from the effect stack.
Later in Styleable::cancelDeclarativeAnimations(), the list of associated CSS Animation names is cleared.
If during that teardown an animation resolution is performed, such as within a "beforeunload" event listener as
shown in the new test, we will get into a state where there are effects left in the effect stack of the element
being torn down but no associated CSS Animation names and we will hit the RELEASE_ASSERT_NOT_REACHED() at the
end of compareCSSAnimations().
To fix this, we simply ensure that we add animations back to Styleable::animations() within
AnimationTimeline::animationTimingDidChange() the same way we add the animations back to
AnimationTimeline::m_animations.
Test: webanimations/css-animation-resolution-during-teardown.html
- animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::animationTimingDidChange):
LayoutTests:
Add a new test that would have asserted prior to the source change.
- webanimations/css-animation-resolution-during-teardown-expected.txt: Added.
- webanimations/css-animation-resolution-during-teardown.html: Added.
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292858 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:50 PM Changeset in webkit [293002] by
-
- 3 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r292846. rdar://problem/88965550
Adjust when _setPrivacyProxyFailClosedForUnreachableNonMainHosts is called
βhttps://bugs.webkit.org/show_bug.cgi?id=237735
Reviewed by Geoff Garen.
This is recommitting βhttp://trac.webkit.org/r291598 but leaving the definition of PrivateRelayed::Yes and ::No
based on whether metrics._privacyStance == nw_connection_privacy_stance_direct instead of nw_connection_privacy_stance_failed.
It has flip flopped several times in the various related commits, but it needs to be nw_connection_privacy_stance_direct.
I manually verified that this fixes <rdar://88965550> without reintroducing <rdar://90677955>.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): (WebKit::NetworkSessionCocoa::createWebSocketTask):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:50 PM Changeset in webkit [293001] by
-
- 5 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292779. rdar://problem/89750945
RejectedPromiseTracker can be recreated if we are in a worker / worklet whose execution is terminating
βhttps://bugs.webkit.org/show_bug.cgi?id=239130
Reviewed by Chris Dumez.
We update ScriptExecutionContext::ensureRejectedPromiseTrackerSlow so that we wont
recreate the promise tracker if we are in a worker / worklet whose execution is terminating.
- bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::promiseRejectionTracker):
- bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext):
- dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::ensureRejectedPromiseTrackerSlow):
- dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::ensureRejectedPromiseTracker):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:50 PM Changeset in webkit [293000] by
-
- 2 edits in branches/safari-613-branch/Source/ThirdParty/ANGLE
Cherry-pick r292743. rdar://problem/91437430
This WebGL example crashes
βhttps://bugs.webkit.org/show_bug.cgi?id=238953
Null-check subnodes while performing a deep copy for
loops, and branches. These nodes can be null in some cases
Reviewed by Dean Jackson.
- src/compiler/translator/IntermNode.cpp: (sh::TIntermBranch::TIntermBranch): (sh::TIntermLoop::TIntermLoop):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:50 PM Changeset in webkit [292999] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292638. rdar://problem/91255370
Simplify / Optimize the whitespace cache implementation
βhttps://bugs.webkit.org/show_bug.cgi?id=238736
<rdar://problem/91255370>
Reviewed by Darin Adler.
Follow-up to r292310 to add missing blank lines.
- html/parser/HTMLConstructionSite.h:
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:50 PM Changeset in webkit [292998] by
-
- 4 edits in branches/safari-613-branch/Source
Cherry-pick r292609. rdar://problem/90882766
Broaden TypedArray API fix to all apps not just Bleacher Report
βhttps://bugs.webkit.org/show_bug.cgi?id=238955
Reviewed by Saam Barati.
Source/JavaScriptCore:
- API/JSTypedArray.cpp: (isLinkedBeforeTypedArrayLengthQuirk): (JSObjectGetArrayBufferByteLength): (isBleecherReport): Deleted.
Source/WTF:
- wtf/cocoa/RuntimeApplicationChecksCocoa.h:
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:50 PM Changeset in webkit [292997] by
-
- 7 edits1 add in branches/safari-613-branch
Cherry-pick r292594. rdar://problem/91467003
[JSC] Fire structure transition watchpoint in Structure::finishCreation instead of Structure constructor
βhttps://bugs.webkit.org/show_bug.cgi?id=238980
Reviewed by Saam Barati.
JSTests:
- stress/heap-allocation-in-did-structure-transition-watchpoint.js: Added. (isPropertyOfType): (getProperties): (getObjects): (getRandomObject): (getRandomProperty): (callGC): (get var):
Source/JavaScriptCore:
After βhttps://github.com/WebKit/WebKit/commit/dc3a347474a183891f8e07966dc09e684d7a1d13 change,
we start using Structure::get in the main thread. However one of the difference between Structure::get and
Structure::getConcurrently is that it can allocate GC memory: PropertyTable can be materialized.
Structure constructor was firing structure transition watchpoint. And some of watchpoints were using
Structure::getConcurrently. That's fine before, but now, it becomes Structure::get. It is not OK since
we cannot allocate GC memory inside constructor of GC managed objects.
This patch split didTransitionFromThisStructure into didTransitionFromThisStructureWithoutFiringWatchpoint and
fireStructureTransitionWatchpoint. And firing watchpoints in Structure::finishCreation instead of Structure
constructor so that we can allocate GC memory while firing watchpoints.
- runtime/BrandedStructure.cpp: (JSC::BrandedStructure::BrandedStructure): (JSC::BrandedStructure::create):
- runtime/BrandedStructure.h:
- runtime/Structure.cpp: (JSC::Structure::Structure): (JSC::Structure::didTransitionFromThisStructureWithoutFiringWatchpoint const): (JSC::Structure::fireStructureTransitionWatchpoint const): (JSC::Structure::didTransitionFromThisStructure const):
- runtime/Structure.h: (JSC::Structure::finishCreation):
- runtime/StructureInlines.h: (JSC::Structure::create):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:50 PM Changeset in webkit [292996] by
-
- 4 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292585. rdar://problem/90553831
When using a TrackDisplayUpdateScope queue updateActiveTextTrackCues as a task
βhttps://bugs.webkit.org/show_bug.cgi?id=238963
Reviewed by Eric Carlson.
The HTMLMediaElement::didRemoveTextTrack call is done under ScriptDisallowedScope but this path
currently can call updateActiveTextTrackCues which could result in updating the layout downstream.
To resolve this we execute updateActiveTextTrackCues under a queueCancellableTaskKeepingObjectAlive call.
We also add a needed check in RenderVTTCue::initializeLayoutParameters exposed by queueing the task.
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::endIgnoringTrackDisplayUpdateRequests): (WebCore::HTMLMediaElement::cancelPendingTasks):
- html/HTMLMediaElement.h:
- rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::initializeLayoutParameters):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:50 PM Changeset in webkit [292995] by
-
- 4 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292563. rdar://problem/88969850
(Safari 15 - iOS15): Increased audio latency on streaming via webrtc
βhttps://bugs.webkit.org/show_bug.cgi?id=236363
<rdar://problem/88969850>
Reviewed by Eric Carlson.
On macOS 12.3, the default preferred buffer size is roughly 100 ms.
This is ok for regular audio playback but is not desirable when playing realtime audio.
To reduce the perceived latency, we now reduce the preferred buffer size to 20ms
whenever playing an audio MediaStreamTrack, similarly to when capturing audio.
Manually tested.
- platform/audio/PlatformMediaSession.cpp:
- platform/audio/PlatformMediaSession.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292994] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292560. rdar://problem/90924861
Iterate over copy of animated properties in WebCore::WebAnimation::commitStyles
βhttps://bugs.webkit.org/show_bug.cgi?id=238940
Reviewed by Antoine Quint.
WebAnimation::resolve can end up clearing the animated properties during iteration.
The proposal here will make a copy of the properties before applying the steps
outlined in the spec.
- animation/WebAnimation.cpp: (WebCore::WebAnimation::commitStyles):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292993] by
-
- 4 edits4 adds in branches/safari-613-branch
Cherry-pick r292522. rdar://problem/91130503
NBSP characters drawn in fonts that don't support the space character turn into boxes
βhttps://bugs.webkit.org/show_bug.cgi?id=238836
<rdar://problem/91130503>
Reviewed by Alan Bujtas.
Source/WebCore:
We have some historical code in WebKit where we swap out the non-breaking space glyph
for the space glyphs when rendering. This is not what the other browsers do; they will
faithfully render the non-breaking space glyph. This patch aligns with the other
browsers.
This patch also fixes a similar problem with tab characters. Other browsers never
render any visible tab glyphs, even if the font has a visible glyph for the tab
character. This patch implements this.
This patch also only clobbers the glyphs used for carriageReturn and newlineCharacter
if the replacement glyph exists.
Test: fast/text/nbsp-no-space.html
- platform/graphics/WidthIterator.cpp: (WebCore::WidthIterator::applyCSSVisibilityRules):
LayoutTests:
- fast/text/nbsp-no-space-expected.html: Added.
- fast/text/nbsp-no-space.html: Added.
- fast/text/resources/Ahem-nbsp-no-space.ttf: Added. Supports NBSP but not space.
- fast/text/resources/Ahem-visible-tab-and-space.ttf: Added. Has visible glyphs for tab and space.
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292992] by
-
- 4 edits1 add in branches/safari-613-branch
Cherry-pick r292484. rdar://problem/89253391
[JSC] Substring resolving should check 8bit / 16bit again
βhttps://bugs.webkit.org/show_bug.cgi?id=236775
<rdar://problem/89253391>
Reviewed by Saam Barati.
JSTests:
- stress/8bit-16bit-atomize-conversion.js: Added. (main.v64): (main):
Source/JavaScriptCore:
Substring JSString is wrapping JSString. Thus it is possible that underlying JSString's 8Bit / 16Bit status
becomes different from substring JSString wrapper's bit. We should not assume they are the same.
- runtime/JSString.cpp: (JSC::JSRopeString::resolveRopeInternal const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeInternal8 const): Deleted. (JSC::JSRopeString::resolveRopeInternal16 const): Deleted.
- runtime/JSString.h:
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292991] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292482. rdar://problem/91299672
Check for document page in WorkerMessagingProxy::createCacheStorageConnection
βhttps://bugs.webkit.org/show_bug.cgi?id=238872
Reviewed by Chris Dumez.
Add a check to the document page, similarily to how it is currently done in
WorkerMessagingProxy::createRTCDataChannelRemoteHandlerConnection.
- workers/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::createCacheStorageConnection):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292990] by
-
- 9 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r292475. rdar://problem/91078546
CSE should be more careful with values that have WritesPinned, ExitsSideways, or are of different sizes
βhttps://bugs.webkit.org/show_bug.cgi?id=238302
Reviewed by Saam Barati.
1) CSE for WasmAddressValue searches for any nodes marked with WritesPinned between all paths from the redundant
WasmAddressValue to the replacement that dominates it. For a switch construct, we might miss some paths while
performing this DFS of predecessor blocks because the termination condition was a break instead of a continue.
2) The CSE phase looks for a pattern it calls a store after clobber. That is, two stores to the same location where
the first store is not observable. It searches for reads and writes that overlap with the store and its clobber, and
bails if it finds them. When we add in CSE for WasmAddressValue, we expose the fact that WasmBoundsCheck has ExitSideways
but does not claim to read top, even though the code it exits to totally can. This can cause us to eliminate an observable store.
3) The store after clobber phase does not check that the size of the clobber is the same as the size of the store. Again,
this is usually hidden by JavaScript because the sizes are usually the same. Also, when WASM fast memory is enabled, this
bug is hidden because the loads/stores say that they may trap. That is why the unity test case only failed on iOS (although
it does fail on mac with XPC_JSC_useWebAssemblyFastMemory=0).
- b3/B3EliminateCommonSubexpressions.cpp:
- b3/testb3.h:
- b3/testb3_8.cpp: (testWasmAddressDoesNotCSE): (addCopyTests):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292989] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292418. rdar://problem/91312118
Avoid unnecessary traversal when updating list markers
βhttps://bugs.webkit.org/show_bug.cgi?id=238795
Reviewed by Anders Carlsson.
This code could use a full rewrite but there are also some simple optimizations that can be done.
- rendering/RenderListItem.cpp: (WebCore::nextListItemHelper):
Don't advance into non-rendered subtrees. We won't find any renderers there.
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292988] by
-
- 5 edits in branches/safari-613-branch
Cherry-pick r292401. rdar://problem/83168970
5 Media API tests are flakily timing out on iOS14
βhttps://bugs.webkit.org/show_bug.cgi?id=230321
<rdar://problem/83168970>
Reviewed by Jer Noble.
Source/WebKit:
Un-skipped API test WKWebViewPausePlayingAudioTests.OutOfWindow
- UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::applicationWillEnterForegroundForMedia): Log the correct name.
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::applicationDidEnterBackgroundForMedia): Call PlatformMediaSessionManager. (WebKit::WebPage::applicationWillEnterForegroundForMedia): Ditto.
Tools:
- TestWebKitAPI/Tests/ios/WKWebViewPausePlayingAudioTests.mm: (TestWebKitAPI::TEST):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292987] by
-
- 4 edits2 adds in branches/safari-613-branch
Cherry-pick r292400. rdar://problem/89382543
[macOS][selectors] :focus-visible matching on button focused via script (after clicking on a different button)
βhttps://bugs.webkit.org/show_bug.cgi?id=236782
<rdar://problem/89382543>
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Add specific test for <button> element.
- web-platform-tests/css/selectors/focus-visible-script-focus-008-b-expected.txt: Added.
- web-platform-tests/css/selectors/focus-visible-script-focus-008-b.html: Added.
Source/WebCore:
Document::m_latestFocusTrigger was not being updated after clicking on a button (or other form controls)
on platforms different than GTK and WPE.
This is because HTMLFormControlElement::isMouseFocusable() returns false on such platforms.
This issue is causing problems with :focus-visible, as the button is not actually focused via mouse click,
if you move the focus via script afterwards, the new focused element always match :focus-visible.
This patch is a workaround to solve that issue, by updating m_latestFocusTrigger on Document
even if the element is not actually focused.
That way :focus-visible doesn't match if there's a script focus afterwards.
Fix :focus-visible after clicking on a button on Mac
Test: imported/w3c/web-platform-tests/css/selectors/focus-visible-script-focus-008-b.html
- dom/Document.h: (WebCore::Document::setLatestFocusTrigger):
- page/EventHandler.cpp: (WebCore::EventHandler::dispatchMouseEvent):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292986] by
-
- 4 edits in branches/safari-613-branch/Source/WebKit
Cherry-pick r292319. rdar://problem/89916360
Remove display list map entry before remote resource
βhttps://bugs.webkit.org/show_bug.cgi?id=238764
Reviewed by Simon Fraser.
- GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::clearImageBufferReference):
- GPUProcess/graphics/RemoteDisplayListRecorder.h:
- GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292985] by
-
- 3 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick r292310. rdar://problem/91255370
Simplify / Optimize the whitespace cache implementation
βhttps://bugs.webkit.org/show_bug.cgi?id=238736
Reviewed by Sam Weinig.
Instead of using 2 C arrays of size maximumCachedStringLength + 1 Vector with an inline
buffer of size maximumCachedStringLength, we now used a single FixedVector of size
maximumCachedStringLength.
Because the Vector has an inline buffer whose size is the max size of the cache, using
a FixedVector is just more efficient. It also means we don't need to store indexes in
that Vector in a separate C array. Finally, I used a struct named AtomStringWithCode to
store { AtomString, uint64 code } so we don't need separate containers for the AtomString
and the code.
Note that I added VectorTraits for the new AtomStringWithCode struct to make sure it can
get initialized via a simple memset.
This is a 0.25-0.3% progression on Speedometer according to A/B bots.
- html/parser/HTMLConstructionSite.cpp: (WebCore::WhitespaceCache::lookup):
- html/parser/HTMLConstructionSite.h: (WebCore::WhitespaceCache::WhitespaceCache):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292984] by
-
- 2 edits in branches/safari-613-branch/Source/JavaScriptCore
Cherry-pick r292269. rdar://problem/91204413
AI should do int32 optimization in ValueRep
βhttps://bugs.webkit.org/show_bug.cgi?id=238699
Reviewed by Saam Barati.
When constant folding an int52 into a ValueRep AI doesn't
do our normal int32 boxing optimization. I'm not sure if
it matters since I couldn't find a test but it probably
doesn't hurt.
- dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@292269 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292983] by
-
- 10 edits in branches/safari-613-branch
Cherry-pick r291852. rdar://problem/83235846
Improve rebuilding of ruby subtrees
βhttps://bugs.webkit.org/show_bug.cgi?id=238365
Source/WebCore:
Patch by FrΓ©dΓ©ric Wang <βfwang@igalia.com> on 2022-03-25
Reviewed by Alan Bujtas.
Don't collapse generated Ruby subtree when tearing down children and take into account the
fact that anonymous before/after node can belong to a display: content child.
- rendering/updating/RenderTreeBuilder.cpp: (WebCore::RenderTreeBuilder::destroyAndCleanUpAnonymousWrappers): Don't collapse.
- rendering/updating/RenderTreeBuilderRuby.cpp: (WebCore::lastRubyRun): Child can be also be an anonymous after content. (WebCore::RenderTreeBuilder::Ruby::findOrCreateParentForChild): When beforeChild is an anonymous before/after, just fallback to appending to the last ruby run.
LayoutTests:
Patch by Frederic Wang <βfred.wang@free.fr> on 2022-03-25
Reviewed by Alan Bujtas.
Expectation for rubyDOM-remove-text2.html is updated now that we don't collapse anonymous
RenderRubyBase nodes.
- platform/gtk/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
- platform/ios/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
- platform/mac/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
- platform/win/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
- platform/wincairo/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
- platform/wpe/fast/ruby/rubyDOM-remove-text2-expected.txt: Updated.
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@291852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292982] by
-
- 4 edits in branches/safari-613-branch/LayoutTests
Cherry-pick r290622. rdar://problem/90454629
REBASELINE [ iOS15 ] fast/text/khmer-lao-font.html is a constant text failure
<rdar://88841324>
Unreviewed test gardening. Rebaseline for iOS15.
- platform/ios-wk2/TestExpectations:
- platform/ios-wk2/fast/text/khmer-lao-font-expected.txt:
- platform/ios/fast/text/khmer-lao-font-expected.txt:
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@290622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:49 PM Changeset in webkit [292981] by
-
- 2 edits1 copy1 add in branches/safari-613-branch/LayoutTests
Cherry-pick r289834. rdar://problem/90455347
Rebaslining fonts/monospace.html for Monterey.
βhttps://bugs.webkit.org/show_bug.cgi?id=236619
Unreviewed test gardening.
Patch by Matteo Flores <Matteo Flores> on 2022-02-15
- platform/mac-catalina/fonts/monospace-expected.txt: Copied from LayoutTests/platform/mac/fonts/monospace-expected.txt.
- platform/mac/fonts/monospace-expected.txt:
git-svn-id: βhttps://svn.webkit.org/repository/webkit/trunk@289834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:46 PM Changeset in webkit [292980] by
-
- 3 edits in trunk/Source/WebKit
Block system calls in the Network process
βhttps://bugs.webkit.org/show_bug.cgi?id=238935
<rdar://47323426>
Reviewed by Geoffrey Garen.
Block unused system calls in the Network process on macOS and iOS. This is based on collected telemetry.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in:
- 4:42 PM Changeset in webkit [292979] by
-
- 9 edits in branches/safari-613-branch/Source
Versioning.
WebKit-7613.2.7
- 4:06 PM Changeset in webkit [292978] by
-
- 2 edits in trunk/Source/JavaScriptCore
The VMTraps signal handler should no return SignalAction::NotHandled on codeBlockSet lock contention.
βhttps://bugs.webkit.org/show_bug.cgi?id=239457
Reviewed by Yusuke Suzuki.
The signal handler is triggered by the mutator thread due to the installed halt
instructions in JIT code (which we already confirmed higher up in the signal handler).
Hence, the mutator cannot be in C++ code, and therefore, cannot be already holding
the codeBlockSet lock. The only time the codeBlockSet lock could be in contention
is if the Sampling Profiler thread is holding it. In that case, we'll simply wait
till the Sampling Profiler is done with it. There are no lock ordering issues w.r.t.
the Sampling Profiler on this code path.
Note that it is not ok to return SignalAction::NotHandled here if we see contention.
Doing so will cause the fault to be handled by the default handler, which will crash.
It is also not productive to return SignalAction::Handled on contention. Doing so
will simply trigger this fault handler over and over again. We might as well wait
for the Sampling Profiler to release the lock, which is what we should do.
This issue was detected by the stress/get-array-length-concurrently-change-mode.js.ftl-no-cjit-validate-sampling-profiler
test, resulting in intermittent crashes.
- runtime/VMTraps.cpp:
- 3:48 PM Changeset in webkit [292977] by
-
- 2 edits in trunk/Source/WebKit
[iOS][WP] Add telemetry with backtrace for network related system calls
βhttps://bugs.webkit.org/show_bug.cgi?id=239465
Reviewed by Darin Adler.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- 3:24 PM Changeset in webkit [292976] by
-
- 7 edits in trunk/Source
Use convertToASCIILowercase() less and more SortedArrayMap / SortedArraySet
βhttps://bugs.webkit.org/show_bug.cgi?id=239453
Reviewed by Darin Adler.
Source/WebCore:
- Modules/applicationmanifest/ApplicationManifestParser.cpp:
(WebCore::ApplicationManifestParser::parseDisplay):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::supportsType):
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::isUnsupportedMIMEType):
- platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:
(WebCore::AVAssetMIMETypeCache::isUnsupportedContainerType):
Source/WebDriver:
- WebDriverService.cpp:
(WebDriver::WebDriverService::toCommandHTTPMethod):
- 3:10 PM Changeset in webkit [292975] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed, reverting r292957.
βhttps://bugs.webkit.org/show_bug.cgi?id=239468
Introduced crash
Reverted changeset:
"Block system calls in the Network process"
βhttps://bugs.webkit.org/show_bug.cgi?id=238935
βhttps://commits.webkit.org/r292957
- 2:54 PM Changeset in webkit [292974] by
-
- 2 edits in trunk/Tools/CISupport/build-webkit-org
[buildbot] Increase the compile timeout to account for delayed output from clang/XCBuild
βhttps://bugs.webkit.org/show_bug.cgi?id=239455
Reviewed by Aakash Jain.
- Tools/CISupport/build-webkit-org/steps.py:
(CompileWebKit):
(CompileWebKit.init): Change the default timeout to 30 minutes.
- Tools/CISupport/build-webkit-org/steps_unittest.py: Update expectations.
(TestCompileWebKit.test_success):
(TestCompileWebKit.test_success_gtk):
(TestCompileWebKit.test_success_wpe):
(TestCompileWebKit.test_failure):
(TestCompileJSCOnly.test_success):
(TestCompileJSCOnly.test_failure):
Canonical link: βhttps://commits.webkit.org/249737@main
- 2:44 PM Changeset in webkit [292973] by
-
- 8 edits8 adds in trunk
Implement support for aligning baselines through subgrids
βhttps://bugs.webkit.org/show_bug.cgi?id=238643
Reviewed by Javier Fernandez.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-grid/subgrid/baseline-002-expected.html: Added.
- web-platform-tests/css/css-grid/subgrid/baseline-002.html: Added.
- web-platform-tests/css/css-grid/subgrid/baseline-003-expected.html: Added.
- web-platform-tests/css/css-grid/subgrid/baseline-003.html: Added.
- web-platform-tests/css/css-grid/subgrid/baseline-004-expected.html: Added.
- web-platform-tests/css/css-grid/subgrid/baseline-004.html: Added.
- web-platform-tests/css/css-grid/subgrid/baseline-005-expected.html: Added.
- web-platform-tests/css/css-grid/subgrid/baseline-005.html: Added.
Added new WPT variants of the baseline tests, for the case where the introspected subgrid
has padding that affects the baseline position, and for the case where the subgrid uses an
orthogonal writing mode.
Source/WebCore:
Implement baseline sharing recursion into subgrids
Tests: imported/w3c/web-platform-tests/css/css-grid/subgrid/baseline-002.html
imported/w3c/web-platform-tests/css/css-grid/subgrid/baseline-003.html
imported/w3c/web-platform-tests/css/css-grid/subgrid/baseline-004.html
imported/w3c/web-platform-tests/css/css-grid/subgrid/baseline-005.html
- rendering/GridBaselineAlignment.cpp:
(WebCore::GridBaselineAlignment::ascentForChild const):
(WebCore::GridBaselineAlignment::descentForChild const):
(WebCore::GridBaselineAlignment::updateBaselineAlignmentContext):
(WebCore::BaselineGroup::BaselineGroup):
(WebCore::BaselineGroup::update):
(WebCore::BaselineContext::BaselineContext):
(WebCore::BaselineContext::updateSharedGroup):
- rendering/GridBaselineAlignment.h:
(WebCore::BaselineGroup::maxAscent const):
(WebCore::BaselineGroup::maxDescent const): Deleted.
- rendering/GridLayoutFunctions.h:
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::canParticipateInBaselineAlignment const):
(WebCore::GridTrackSizingAlgorithm::updateBaselineAlignmentContext):
(WebCore::GridTrackSizingAlgorithm::baselineOffsetForChild const):
(WebCore::GridTrackSizingAlgorithm::cacheBaselineAlignedItem):
- rendering/GridTrackSizingAlgorithm.h:
- rendering/RenderGrid.cpp:
(WebCore::cacheBaselineAlignedChildren):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths const):
(WebCore::RenderGrid::performGridItemsPreLayout const):
(WebCore::RenderGrid::alignSelfForChild const):
(WebCore::RenderGrid::justifySelfForChild const):
(WebCore::RenderGrid::columnAxisBaselineOffsetForChild const):
(WebCore::RenderGrid::rowAxisBaselineOffsetForChild const):
Moves the code for collecting baseline aligned children into a shared helper function, and adds
support for recursing into subgrid children (restricted to the axes that subgrid was applied).
Fixes align/justifySelfForChild to check if the child is a subgrid and overrides the result to 'stretch', so
that we're correctly stretching subgrids, not the children of subgrids (covered by new tests).
- 2:37 PM Changeset in webkit [292972] by
-
- 4 edits in trunk/Source/WebKit
Remove the deprecated CaptivePortal enablement key
βhttps://bugs.webkit.org/show_bug.cgi?id=239456
Reviewed by Wenson Hsieh.
This is a minor code cleanup to remove an old default key
we used in the early experiments with this behavior.
- UIProcess/API/Cocoa/_WKSystemPreferences.mm:
(+[_WKSystemPreferences isCaptivePortalModeEnabled]):
- UIProcess/API/Cocoa/_WKSystemPreferencesInternal.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::notifyPreferencesChanged):
- 2:35 PM Changeset in webkit [292971] by
-
- 7 edits in trunk/Source/WebKit
Fix incorrect syscall name in sandboxes
βhttps://bugs.webkit.org/show_bug.cgi?id=239454
Reviewed by Darin Adler.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
- 2:20 PM Changeset in webkit [292970] by
-
- 11 edits in trunk
Allow C API clients to get the WKProcessTerminationReason in processDidCrash functions, and use in WebKitTestRunner
βhttps://bugs.webkit.org/show_bug.cgi?id=239400
Reviewed by Sam Weinig.
Source/WebKit:
Introduce WKContextClientV4 with "did crash" functions that take a ProcessID and WKProcessTerminationReason.
WebContextClient will call the new functions if registered, otherwise the old ones.
Have WebProcessPool::networkProcessDidTerminate() and WebProcessPool::gpuProcessExited() call
the client for more types of reasons; ExceededMemoryLimit and ExceededCPULimit only apply
to the web process, so the behavior change here is to call m_client.networkProcessDidCrash()
for ProcessTerminationReason::Unresponsive.
- UIProcess/API/C/WKContext.h:
- UIProcess/WebContextClient.cpp:
(WebKit::WebContextClient::networkProcessDidCrash):
(WebKit::WebContextClient::serviceWorkerProcessDidCrash):
(WebKit::WebContextClient::gpuProcessDidCrash):
- UIProcess/WebContextClient.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::shouldReportAuxiliaryProcessCrash):
(WebKit::WebProcessPool::networkProcessDidTerminate):
(WebKit::WebProcessPool::serviceWorkerProcessCrashed):
(WebKit::WebProcessPool::gpuProcessExited):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
Tools:
Standardize the "didCrash" callbacks to use the WKContextClientV4 "with details" versions,
and use them to print out crash reasons.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::networkProcessDidCrashWithDetails):
(WTR::TestController::serviceWorkerProcessDidCrashWithDetails):
(WTR::TestController::gpuProcessDidCrashWithDetails):
(WTR::terminationReasonToString):
(WTR::TestController::networkProcessDidCrash):
(WTR::TestController::serviceWorkerProcessDidCrash):
(WTR::TestController::gpuProcessDidCrash):
(WTR::TestController::webProcessDidTerminate):
- WebKitTestRunner/TestController.h:
- 1:55 PM Changeset in webkit [292969] by
-
- 1 copy in tags/WebKit-7614.1.10.2
Tag WebKit-7614.1.10.2.
- 1:44 PM Changeset in webkit [292968] by
-
- 9 edits in branches/safari-614.1.10-branch/Source
Versioning.
WebKit-7614.1.10.2
- 1:29 PM Changeset in webkit [292967] by
-
- 4 edits in trunk/Source/WebCore
Node changes created by AXIsolatedTree::updateNode are overwritten when performed during AXIsolatedTree::collectNodeChangesForSubtree
βhttps://bugs.webkit.org/show_bug.cgi?id=239398
Reviewed by Andres Gonzalez.
We currently do the wrong thing in this scenario:
- A dynamic page change causes an element to be included on the page, so we create a node change for it and its subtree by calling collectNodeChangesForSubtree. This causes a call to children() on the live object.
- In the process of (or after) updating the children of the live object, we perform some operation that triggers AXIsolatedTree::updateNode on said object. AccessibilityRenderObject::updateRoleAfterChildrenCreation would be an example of this if it were properly coded to update the isolated tree if the object's role changes (I'll address that in a separate patch). updateNode results in a node change with the correct properties being added to m_pendingAppends.
- collectNodeChangesForSubtree (started in step 1) finishes, and queues a node change for the same object, but with the wrong properties (because it was created before step 2). Because it comes after the node change added in step 2 to m_pendingAppends, it wins, and we add an object with the wrong properties to the tree.
This patch fixes this with a new AXIsolatedTree::m_unresolvedPendingAppends member
variable. This is a HashMap with an AXID key, representing the object to create a node
change for. Now, both collectNodeChangesForSubtree and updateNode will add an entry
to this HashMap, allowing it to be resolved it (i.e. by creating the node change) at a later time.
This is both more correct (as it prevents any ordering bugs entirely), and more
efficient, because we now never create multiple node changes for the same object.
This patch also necessitated other code cleanup items:
- m_unresolvedPendingAppends allows us to remove the
idsBeingChangedparameter we passed to several functions since this member variable does the same thing.
- m_pendingNodeRemovals has been deleted. The only thing adding to this was AXIsolatedTree::updateNode, and it did so unnecessarily, since we already handle the case where we are replacing an existing object when proessing m_pendingAppends.
This patch also fixes an issue found by Andres Gonzalez in βhttps://bugs.webkit.org/show_bug.cgi?id=239402.
AXIsolatedTree::updateNode should not immediately attach the wrapper to the new object on the main thread
since it could be in use on the AX thread. To make this more clear, theattachWrapperparameter has been
changed from a bool to an enum called AttachWrapper with valuesOnMainThreadandOnAXThread.
Fixes six tests in isolated tree mode:
- accessibility/aria-labelledby-overrides-label.html
- accessibility/aria-role-on-label.html
- accessibility/mac/label-element-all-text-string-value.html
- accessibility/mac/label-element-with-hidden-control.html
- accessibility/mac/label-element-all-text-string-value.html
- accessibility/mac/slider-allows-title-ui-element.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::treeData):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::create):
(WebCore::AXIsolatedTree::generateSubtree):
(WebCore::AXIsolatedTree::nodeChangeForObject):
(WebCore::AXIsolatedTree::queueRemovals):
Added. Allows you to queue objects for removal from contexts where you
don't already hold a lock.
(WebCore::AXIsolatedTree::queueRemovalsLocked):
Added. Allows you to queue objects for removal from contexts where you
already hold a lock.
(WebCore::AXIsolatedTree::queueRemovalsAndUnresolvedChanges):
Added. Replaces AXIsolatedTree::queueChangesAndRemovals.
(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::removeNode):
(WebCore::AXIsolatedTree::removeSubtreeFromNodeMap):
(WebCore::AXIsolatedTree::applyPendingChanges):
Change local variable name from object to existingObject as this makes
the code much more clear.
- accessibility/isolatedtree/AXIsolatedTree.h:
(WebCore::AXIsolatedTree::queueChangesAndRemovals): Deleted.
- 1:25 PM Changeset in webkit [292966] by
-
- 2 edits in trunk/Tools
[ews.webkit.org] Reduce status updates
βhttps://bugs.webkit.org/show_bug.cgi?id=239414
<rdar://problem/91839873>
Reviewed by Aakash Jain.
We're starting to bump against our API limits, many very short steps report
their status, only to be imiediately overwritten. Skip step started updates.
- Tools/CISupport/ews-build/events.py:
(Events.stepStarted):
Canonical link: βhttps://commits.webkit.org/249731@main
- 12:49 PM Changeset in webkit [292965] by
-
- 1 edit8 adds in trunk/LayoutTests
REGRESSION (249698@main): 4 payment request layout tests failing on Big Sur
βhttps://bugs.webkit.org/show_bug.cgi?id=239461
Unreviewed test gardening.
- platform/mac-bigsur/http/tests/paymentrequest/payment-request-change-shipping-option.https-expected.txt: Added.
- platform/mac-bigsur/http/tests/paymentrequest/updateWith-shippingOptions.https-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/payment-request/payment-request-constructor.https.sub-expected.txt: Added.
- platform/mac-bigsur/imported/w3c/web-platform-tests/payment-request/payment-request-shippingOption-attribute.https-expected.txt: Added.
- 12:36 PM Changeset in webkit [292964] by
-
- 2 edits in trunk/LayoutTests
[iOS] Skip CSS resize tests added by r292559
βhttps://bugs.webkit.org/show_bug.cgi?id=239459
Unreviewed test gardening.
iOS doesn't support CSS resize.
- platform/ios/TestExpectations:
- 11:56 AM Changeset in webkit [292963] by
-
- 13 edits in trunk/Source/WebCore
Optimize nodeHasRole()
βhttps://bugs.webkit.org/show_bug.cgi?id=239430
<rdar://problem/91857547>
Reviewed by Darin Adler.
Optimize nodeHasRole() by calling spaceSplitStringContainsValue() instead of constructing a
SpaceSplitString (which is expensive simply for looking for a single value). Also take a
StringView in parameter to avoid constructing a String unnecessarily (most call sites pass
an ASCIILiteral).
- accessibility/AXObjectCache.cpp:
(WebCore::nodeHasRole):
- accessibility/AXObjectCache.h:
(WebCore::nodeHasRole):
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::elementsFromAttribute const):
(WebCore::AccessibilityObject::ariaElementsReferencedByAttribute const):
- dom/ClassCollection.h:
(WebCore::ClassCollection::ClassCollection):
- dom/Element.cpp:
(WebCore::Element::classAttributeChanged):
(WebCore::Element::partAttributeChanged):
- dom/SpaceSplitString.cpp:
(WebCore::SpaceSplitString::set):
(WebCore::SpaceSplitString::spaceSplitStringContainsValue):
- dom/SpaceSplitString.h:
(WebCore::SpaceSplitString::SpaceSplitString):
- html/Autofill.cpp:
(WebCore::AutofillData::createFromHTMLFormControlElement):
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute):
(WebCore::HTMLAnchorElement::sendPings):
- inspector/InspectorAuditAccessibilityObject.cpp:
(WebCore::InspectorAuditAccessibilityObject::getComputedProperties):
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
- page/EventHandler.cpp:
(WebCore::findDropZone):
- 11:46 AM Changeset in webkit [292962] by
-
- 3 edits in trunk
[PGO] Fix build on intel machines
βhttps://bugs.webkit.org/show_bug.cgi?id=239396
Reviewed by Jonathan Bedard.
We should use the correct comparison operator for Perl strings when checking
if we are building with PGO profile generation enabled.
Canonical link: βhttps://commits.webkit.org/249727@main
- 11:30 AM Changeset in webkit [292961] by
-
- 10 edits in trunk/Source/WebKit
REGRESSION(r288847): GPU Process crash under GPUProcess::canExitUnderMemoryPressure()
βhttps://bugs.webkit.org/show_bug.cgi?id=238558
rdar://91052033
Reviewed by Kimmo Kinnunen.
Use the rendering resources request count to keep the GPU process alive.
RemoteRenderingBackend updates it when active image buffers change.
RemoteGraphicsContextGL updates it on creation and destruction.
RemoteMediaPlayerProxy updates it on creation and destruction.
Remove RemoterRenderingBackend::updateRenderingResourceRequest(), the
count is now counted by RemoteImageBuffer creation, destruction.
Remove RemoterRenderingBackend::allowsExitUnderMemoryPressure(), it was
crashing due to race between the function and the work queue cleanup task.
Remove RemoteMediaPlayerManagerProxy::allowsExitUnderMemoryPressure(),
the count is already counted by RemoteMediaPlayerProxy creation, destruction.
Based on the initial patch by Kimmo Kinnunen.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::allowsExitUnderMemoryPressure const):
- GPUProcess/graphics/QualifiedResourceHeap.h:
(WebKit::QualifiedResourceHeap::hasImageBuffer const): Deleted.
(WebKit::QualifiedResourceHeap::hasNativeImage const): Deleted.
(WebKit::QualifiedResourceHeap::hasFont const): Deleted.
- GPUProcess/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::m_renderingResourcesRequest):
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::updateRenderingResourceRequest): Deleted.
(WebKit::RemoteRenderingBackend::allowsExitUnderMemoryPressure const): Deleted.
- GPUProcess/graphics/RemoteRenderingBackend.h:
- GPUProcess/graphics/RemoteResourceCache.h:
(WebKit::RemoteResourceCache::resourceHeap const): Deleted.
(WebKit::RemoteResourceCache::hasActiveDrawables const): Deleted.
- GPUProcess/graphics/ScopedRenderingResourcesRequest.h:
(WebKit::hasOutstandingRenderingResourceUsage):
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::deleteMediaPlayer):
(WebKit::RemoteMediaPlayerManagerProxy::allowsExitUnderMemoryPressure const): Deleted.
- GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
- 10:56 AM Changeset in webkit [292960] by
-
- 44 edits in trunk/Source/WebCore
Use AtomString as early as possible when string will eventually get atomized
βhttps://bugs.webkit.org/show_bug.cgi?id=239427
Reviewed by Darin Adler.
- css/StyleProperties.cpp:
(WebCore::StyleProperties::asText const):
(WebCore::StyleProperties::asTextAtom const):
(WebCore::StyleProperties::asTextInternal const):
- css/StyleProperties.h:
- dom/DOMStringMap.idl:
- dom/DatasetDOMStringMap.cpp:
(WebCore::DatasetDOMStringMap::setNamedItem):
- dom/DatasetDOMStringMap.h:
- dom/Document.cpp:
(WebCore::Document::createAttribute):
(WebCore::Document::createAttributeNS):
- dom/ElementContentEditable.idl:
- dom/StyledElement.cpp:
(WebCore::StyledElement::synchronizeStyleAttributeInternalImpl):
(WebCore::StyledElement::invalidateStyleAttribute):
- editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::removeCSSStyle):
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
(WebCore::ApplyStyleCommand::applyInlineStyleChange):
- editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
(WebCore::ReplaceSelectionCommand::inverseTransformColor):
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::handleStyleSpans):
- html/DOMTokenList.cpp:
(WebCore::tokenContainsHTMLSpace):
(WebCore::DOMTokenList::validateToken):
(WebCore::DOMTokenList::validateTokens):
(WebCore::DOMTokenList::addInternal):
(WebCore::DOMTokenList::add):
(WebCore::DOMTokenList::removeInternal):
(WebCore::DOMTokenList::remove):
(WebCore::DOMTokenList::setValue):
- html/DOMTokenList.h:
- html/DOMTokenList.idl:
- html/FileInputType.cpp:
(WebCore::UploadButtonElement::createInternal):
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::formControlType const):
- html/HTMLButtonElement.idl:
- html/HTMLElement.cpp:
(WebCore::HTMLElement::setEnterKeyHint):
- html/HTMLElement.h:
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::setFormEnctype):
(WebCore::HTMLFormControlElement::setFormMethod):
(WebCore::HTMLFormControlElement::setAutocomplete):
- html/HTMLFormControlElement.h:
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::setAction):
(WebCore::HTMLFormElement::setEnctype):
(WebCore::HTMLFormElement::setMethod):
- html/HTMLFormElement.h:
- html/HTMLFormElement.idl:
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::setSrc):
(WebCore::HTMLImageElement::setDecoding):
- html/HTMLImageElement.h:
- html/HTMLImageElement.idl:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultValue const):
(WebCore::HTMLInputElement::setDefaultValue):
- html/HTMLInputElement.h:
- html/HTMLInputElement.idl:
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::createForLegacyFactoryFunction):
(WebCore::HTMLOptionElement::setValue):
(WebCore::HTMLOptionElement::setLabel):
- html/HTMLOptionElement.h:
- html/HTMLOptionElement.idl:
- html/InputTypeNames.cpp:
(WebCore::InputTypeNames::button):
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createAutoFillButton):
- html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldCancelButtonElement::create):
- page/Frame.h:
- page/ios/FrameIOS.mm:
(WebCore::Frame::initWithSimpleHTMLDocument):
- svg/SVGLengthValue.cpp:
(WebCore::SVGLengthValue::valueAsAtomString const):
- svg/SVGLengthValue.h:
- svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::orient const):
(WebCore::SVGMarkerElement::setOrient):
- svg/SVGMarkerElement.h:
- svg/SVGMarkerElement.idl:
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::transferSizeAttributesToTargetClone const):
- 10:49 AM Changeset in webkit [292959] by
-
- 33 edits in trunk
[XCBuild] Use XCBuild for all command-line and project builds
βhttps://bugs.webkit.org/show_bug.cgi?id=238916
Reviewed by Alexey Proskuryakov.
Source/bmalloc:
- bmalloc.xcodeproj/project.pbxproj:
Source/JavaScriptCore:
Switch to the new build system, without changing anything about our
build order. Make will still build projects one-at-a-time, but this
drops our dependency on the legacy build system.
- JavaScriptCore.xcodeproj/project.pbxproj:
Source/ThirdParty/ANGLE:
- ANGLE.xcodeproj/project.pbxproj:
Source/ThirdParty/libwebrtc:
- libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
Source/WebGPU:
- WebGPU.xcodeproj/project.pbxproj:
Source/WebInspectorUI:
- WebInspectorUI.xcodeproj/project.pbxproj:
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj:
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
Tools:
There are a few projects in Tools/ which are checked in but not built
as part of the normal Make or build-webkit workflow. I've updated
them, and noted below which ones were already failing to build.
- ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj:
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- EditingHistory/EditingHistory.xcodeproj/project.pbxproj: Fails to
build locally, updated anyway.
- FontWithFeatures/FontWithFeatures.xcodeproj/project.pbxproj: Fails
to build locally, updated anyway.
- ImageDiff/ImageDiff.xcodeproj/project.pbxproj:
- MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
- MiniBrowserSwiftUI/MiniBrowserSwiftUI.xcodeproj/project.pbxproj:
- MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj: Fails
to build locally, updated anyway.
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- 10:02 AM Changeset in webkit [292958] by
-
- 2 edits in trunk/Tools
[Merge-Queue] Handle label addition race condition
βhttps://bugs.webkit.org/show_bug.cgi?id=238973
<rdar://problem/91452352>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/events.py:
(GitHubEventHandlerNoEdits.handle_pull_request): Wait for 10 seconds before processing
label additions.
Canonical link: βhttps://commits.webkit.org/249723@main
- 9:46 AM Changeset in webkit [292957] by
-
- 3 edits in trunk/Source/WebKit
Block system calls in the Network process
βhttps://bugs.webkit.org/show_bug.cgi?id=238935
<rdar://47323426>
Reviewed by Geoffrey Garen.
Block unused system calls in the Network process on macOS and iOS. This is based on collected telemetry.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in:
- 9:30 AM Changeset in webkit [292956] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix the internal watchOS engineering build
In the case where
HAVE(UIKIT_WITH_MOUSE_SUPPORT)is off, internal watchOS engineering builds fail due to
shouldEnableAlternativeMouseGestureRecognizersbeing unused. Fix this, and do some minor cleanup in this code
while we're here:
- Remove extra space before
_alternateMouseGestureRecognizer.get(). - Move * to the correct side for Objective-C instances.
- Fix a typo: "alternativeMouseRecgnizer" => "alternativeMouseRecognizer".
- UIProcess/ios/WKContentViewInteraction.mm:
(shouldEnableAlternativeMouseGestureRecognizers):
(-[WKContentView _configureMouseGestureRecognizer]):
- 9:09 AM Changeset in webkit [292955] by
-
- 5 edits in trunk
Make the main video heuristic robust when video elements are added after entering fullscreen
βhttps://bugs.webkit.org/show_bug.cgi?id=239438
rdar://91867187
Reviewed by Eric Carlson.
Source/WebKit:
Adjust the heuristic for identifying the most prominent video element in an element fullscreen container, such
that it can detect video elements that are inserted into the document after we've already entered fullscreen
mode. See below for more details.
Exercised by a new internal API test.
- WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::setElement):
Listen for several events (play, pause, loadedmetadata) that are bubbled up to the fullscreen container element,
from any media element underneath the fullscreen container; in response to these events, we re-run the main
fullscreen video element heuristic to updatem_mainVideoElement(and cancel and reschedule the video
extraction timer, if this main video element changed).
(WebKit::WebFullScreenManager::enterFullScreenForElement):
(WebKit::WebFullScreenManager::didEnterFullScreen):
Pull existing logic for walking through the element fullscreen DOM in search of video elements out into a new
helper method,updateMainVideoElement, that's invoked both when we finish entering fullscreen mode, and when
observing any of the new events that bubble up to the fullscreen container.
(WebKit::WebFullScreenManager::updateMainVideoElement):
(WebKit::WebFullScreenManager::handleEvent):
(WebKit::WebFullScreenManager::setMainVideoElement):
- WebProcess/FullScreen/WebFullScreenManager.h:
Tools:
Add a helper method to a test page used in API tests; see the radar for more information.
- TestWebKitAPI/Tests/WebKitCocoa/element-fullscreen.html:
- 7:33 AM Changeset in webkit [292954] by
-
- 5 edits24 moves1 add in trunk/Source/WebCore
[IFC][Integration] Move inline integration under layout/integration/inline
βhttps://bugs.webkit.org/show_bug.cgi?id=239441
Reviewed by Antti Koivisto.
This is in preparation for implementing additional integrated FCs.
- CMakeLists.txt:
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/integration/inline/InlineIteratorBox.cpp: Renamed from Source/WebCore/layout/integration/InlineIteratorBox.cpp.
(WebCore::InlineIterator::BoxIterator::BoxIterator):
(WebCore::InlineIterator::BoxIterator::operator== const):
(WebCore::InlineIterator::BoxIterator::atEnd const):
(WebCore::InlineIterator::Box::nextOnLine const):
(WebCore::InlineIterator::Box::previousOnLine const):
(WebCore::InlineIterator::Box::nextOnLineIgnoringLineBreak const):
(WebCore::InlineIterator::Box::previousOnLineIgnoringLineBreak const):
(WebCore::InlineIterator::Box::lineBox const):
(WebCore::InlineIterator::Box::style const):
(WebCore::InlineIterator::Box::selectionState const):
(WebCore::InlineIterator::LeafBoxIterator::LeafBoxIterator):
(WebCore::InlineIterator::LeafBoxIterator::traverseNextOnLine):
(WebCore::InlineIterator::LeafBoxIterator::traversePreviousOnLine):
(WebCore::InlineIterator::LeafBoxIterator::traverseNextOnLineIgnoringLineBreak):
(WebCore::InlineIterator::LeafBoxIterator::traversePreviousOnLineIgnoringLineBreak):
(WebCore::InlineIterator::boxFor):
(WebCore::InlineIterator::Box::modernPath const):
(WebCore::InlineIterator::Box::legacyPath const):
- layout/integration/inline/InlineIteratorBox.h: Renamed from Source/WebCore/layout/integration/InlineIteratorBox.h.
(WebCore::InlineIterator::Box::logicalTop const):
(WebCore::InlineIterator::Box::logicalBottom const):
(WebCore::InlineIterator::Box::logicalLeft const):
(WebCore::InlineIterator::Box::logicalRight const):
(WebCore::InlineIterator::Box::logicalWidth const):
(WebCore::InlineIterator::Box::logicalHeight const):
(WebCore::InlineIterator::Box::leftmostCaretOffset const):
(WebCore::InlineIterator::Box::rightmostCaretOffset const):
(WebCore::InlineIterator::Box::direction const):
(WebCore::InlineIterator::Box::isLeftToRightDirection const):
(WebCore::InlineIterator::BoxIterator::operator bool const):
(WebCore::InlineIterator::BoxIterator::operator!= const):
(WebCore::InlineIterator::BoxIterator::operator== const):
(WebCore::InlineIterator::BoxIterator::operator* const):
(WebCore::InlineIterator::BoxIterator::operator-> const):
(WebCore::InlineIterator::BoxIterator::BoxIterator):
(WebCore::InlineIterator::Box::Box):
(WebCore::InlineIterator::Box::isText const):
(WebCore::InlineIterator::Box::isInlineBox const):
(WebCore::InlineIterator::Box::isRootInlineBox const):
(WebCore::InlineIterator::Box::visualRect const):
(WebCore::InlineIterator::Box::visualRectIgnoringBlockDirection const):
(WebCore::InlineIterator::Box::isHorizontal const):
(WebCore::InlineIterator::Box::isLineBreak const):
(WebCore::InlineIterator::Box::minimumCaretOffset const):
(WebCore::InlineIterator::Box::maximumCaretOffset const):
(WebCore::InlineIterator::Box::bidiLevel const):
(WebCore::InlineIterator::Box::renderer const):
(WebCore::InlineIterator::Box::legacyInlineBox const):
(WebCore::InlineIterator::Box::inlineBox const):
- layout/integration/inline/InlineIteratorBoxLegacyPath.h: Renamed from Source/WebCore/layout/integration/InlineIteratorBoxLegacyPath.h.
(WebCore::InlineIterator::BoxLegacyPath::BoxLegacyPath):
(WebCore::InlineIterator::BoxLegacyPath::isText const):
(WebCore::InlineIterator::BoxLegacyPath::isInlineBox const):
(WebCore::InlineIterator::BoxLegacyPath::isRootInlineBox const):
(WebCore::InlineIterator::BoxLegacyPath::visualRectIgnoringBlockDirection const):
(WebCore::InlineIterator::BoxLegacyPath::isHorizontal const):
(WebCore::InlineIterator::BoxLegacyPath::isLineBreak const):
(WebCore::InlineIterator::BoxLegacyPath::minimumCaretOffset const):
(WebCore::InlineIterator::BoxLegacyPath::maximumCaretOffset const):
(WebCore::InlineIterator::BoxLegacyPath::bidiLevel const):
(WebCore::InlineIterator::BoxLegacyPath::hasHyphen const):
(WebCore::InlineIterator::BoxLegacyPath::text const):
(WebCore::InlineIterator::BoxLegacyPath::start const):
(WebCore::InlineIterator::BoxLegacyPath::end const):
(WebCore::InlineIterator::BoxLegacyPath::length const):
(WebCore::InlineIterator::BoxLegacyPath::selectableRange const):
(WebCore::InlineIterator::BoxLegacyPath::createTextRun const):
(WebCore::InlineIterator::BoxLegacyPath::renderer const):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextTextBox):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextOnLine):
(WebCore::InlineIterator::BoxLegacyPath::traversePreviousOnLine):
(WebCore::InlineIterator::BoxLegacyPath::traverseNextInlineBox):
(WebCore::InlineIterator::BoxLegacyPath::traversePreviousInlineBox):
(WebCore::InlineIterator::BoxLegacyPath::firstLeafBoxForInlineBox const):
(WebCore::InlineIterator::BoxLegacyPath::lastLeafBoxForInlineBox const):
(WebCore::InlineIterator::BoxLegacyPath::operator== const):
(WebCore::InlineIterator::BoxLegacyPath::atEnd const):
(WebCore::InlineIterator::BoxLegacyPath::legacyInlineBox const):
(WebCore::InlineIterator::BoxLegacyPath::rootInlineBox const):
(WebCore::InlineIterator::BoxLegacyPath::inlineTextBox const):
(WebCore::InlineIterator::BoxLegacyPath::inlineFlowBox const):
- layout/integration/inline/InlineIteratorBoxModernPath.h: Renamed from Source/WebCore/layout/integration/InlineIteratorBoxModernPath.h.
(WebCore::InlineIterator::BoxModernPath::BoxModernPath):
(WebCore::InlineIterator::BoxModernPath::isText const):
(WebCore::InlineIterator::BoxModernPath::isInlineBox const):
(WebCore::InlineIterator::BoxModernPath::isRootInlineBox const):
(WebCore::InlineIterator::BoxModernPath::visualRectIgnoringBlockDirection const):
(WebCore::InlineIterator::BoxModernPath::isHorizontal const):
(WebCore::InlineIterator::BoxModernPath::isLineBreak const):
(WebCore::InlineIterator::BoxModernPath::minimumCaretOffset const):
(WebCore::InlineIterator::BoxModernPath::maximumCaretOffset const):
(WebCore::InlineIterator::BoxModernPath::bidiLevel const):
(WebCore::InlineIterator::BoxModernPath::hasHyphen const):
(WebCore::InlineIterator::BoxModernPath::text const):
(WebCore::InlineIterator::BoxModernPath::start const):
(WebCore::InlineIterator::BoxModernPath::end const):
(WebCore::InlineIterator::BoxModernPath::length const):
(WebCore::InlineIterator::BoxModernPath::selectableRange const):
(WebCore::InlineIterator::BoxModernPath::createTextRun const):
(WebCore::InlineIterator::BoxModernPath::renderer const):
(WebCore::InlineIterator::BoxModernPath::traverseNextTextBox):
(WebCore::InlineIterator::BoxModernPath::traverseNextOnLine):
(WebCore::InlineIterator::BoxModernPath::traversePreviousOnLine):
(WebCore::InlineIterator::BoxModernPath::traverseNextInlineBox):
(WebCore::InlineIterator::BoxModernPath::traversePreviousInlineBox):
(WebCore::InlineIterator::BoxModernPath::firstLeafBoxForInlineBox const):
(WebCore::InlineIterator::BoxModernPath::lastLeafBoxForInlineBox const):
(WebCore::InlineIterator::BoxModernPath::operator== const):
(WebCore::InlineIterator::BoxModernPath::atEnd const):
(WebCore::InlineIterator::BoxModernPath::box const):
(WebCore::InlineIterator::BoxModernPath::inlineContent const):
(WebCore::InlineIterator::BoxModernPath::isWithinInlineBox):
(WebCore::InlineIterator::BoxModernPath::traverseNextBox):
(WebCore::InlineIterator::BoxModernPath::traversePreviousBox):
(WebCore::InlineIterator::BoxModernPath::traverseNextLeaf):
(WebCore::InlineIterator::BoxModernPath::traversePreviousLeaf):
(WebCore::InlineIterator::BoxModernPath::traverseNextWithSameLayoutBox):
(WebCore::InlineIterator::BoxModernPath::traversePreviousWithSameLayoutBox):
(WebCore::InlineIterator::BoxModernPath::setAtEnd):
(WebCore::InlineIterator::BoxModernPath::boxes const):
(WebCore::InlineIterator::BoxModernPath::line const):
(WebCore::InlineIterator::BoxModernPath::renderText const):
(WebCore::InlineIterator::BoxModernPath::direction const):
- layout/integration/inline/InlineIteratorInlineBox.cpp: Renamed from Source/WebCore/layout/integration/InlineIteratorInlineBox.cpp.
(WebCore::InlineIterator::InlineBox::InlineBox):
(WebCore::InlineIterator::InlineBox::hasClosedLeftAndRightEdge const):
(WebCore::InlineIterator::InlineBox::nextInlineBox const):
(WebCore::InlineIterator::InlineBox::previousInlineBox const):
(WebCore::InlineIterator::InlineBox::firstLeafBox const):
(WebCore::InlineIterator::InlineBox::lastLeafBox const):
(WebCore::InlineIterator::InlineBox::endLeafBox const):
(WebCore::InlineIterator::InlineBoxIterator::InlineBoxIterator):
(WebCore::InlineIterator::InlineBoxIterator::traverseNextInlineBox):
(WebCore::InlineIterator::InlineBoxIterator::traversePreviousInlineBox):
(WebCore::InlineIterator::firstInlineBoxFor):
(WebCore::InlineIterator::firstRootInlineBoxFor):
(WebCore::InlineIterator::inlineBoxFor):
- layout/integration/inline/InlineIteratorInlineBox.h: Renamed from Source/WebCore/layout/integration/InlineIteratorInlineBox.h.
(WebCore::InlineIterator::InlineBox::renderer const):
(WebCore::InlineIterator::InlineBox::legacyInlineBox const):
(WebCore::InlineIterator::InlineBoxIterator::InlineBoxIterator):
(WebCore::InlineIterator::InlineBoxIterator::operator* const):
(WebCore::InlineIterator::InlineBoxIterator::operator-> const):
(WebCore::InlineIterator::InlineBoxIterator::get const):
(WebCore::InlineIterator::InlineBox::iterator const):
(isType):
- layout/integration/inline/InlineIteratorLineBox.cpp: Renamed from Source/WebCore/layout/integration/InlineIteratorLineBox.cpp.
(WebCore::InlineIterator::LineBoxIterator::LineBoxIterator):
(WebCore::InlineIterator::LineBoxIterator::atEnd const):
(WebCore::InlineIterator::LineBoxIterator::traverseNext):
(WebCore::InlineIterator::LineBoxIterator::traversePrevious):
(WebCore::InlineIterator::LineBoxIterator::operator== const):
(WebCore::InlineIterator::firstLineBoxFor):
(WebCore::InlineIterator::lastLineBoxFor):
(WebCore::InlineIterator::LineBox::next const):
(WebCore::InlineIterator::LineBox::previous const):
(WebCore::InlineIterator::LineBox::firstLeafBox const):
(WebCore::InlineIterator::LineBox::lastLeafBox const):
(WebCore::InlineIterator::closestBoxForHorizontalPosition):
- layout/integration/inline/InlineIteratorLineBox.h: Renamed from Source/WebCore/layout/integration/InlineIteratorLineBox.h.
(WebCore::InlineIterator::LineBox::height const):
(WebCore::InlineIterator::LineBoxIterator::LineBoxIterator):
(WebCore::InlineIterator::LineBoxIterator::operator++):
(WebCore::InlineIterator::LineBoxIterator::operator bool const):
(WebCore::InlineIterator::LineBoxIterator::operator!= const):
(WebCore::InlineIterator::LineBoxIterator::operator== const):
(WebCore::InlineIterator::LineBoxIterator::operator* const):
(WebCore::InlineIterator::LineBoxIterator::operator-> const):
(WebCore::InlineIterator::previousLineBoxContentBottomOrBorderAndPadding):
(WebCore::InlineIterator::contentStartInBlockDirection):
(WebCore::InlineIterator::LineBox::LineBox):
(WebCore::InlineIterator::LineBox::contentLogicalTop const):
(WebCore::InlineIterator::LineBox::contentLogicalBottom const):
(WebCore::InlineIterator::LineBox::contentLogicalTopAdjustedForPrecedingLineBox const):
(WebCore::InlineIterator::LineBox::contentLogicalBottomAdjustedForFollowingLineBox const):
(WebCore::InlineIterator::LineBox::top const):
(WebCore::InlineIterator::LineBox::bottom const):
(WebCore::InlineIterator::LineBox::inkOverflowTop const):
(WebCore::InlineIterator::LineBox::inkOverflowBottom const):
(WebCore::InlineIterator::LineBox::contentLogicalLeft const):
(WebCore::InlineIterator::LineBox::contentLogicalRight const):
(WebCore::InlineIterator::LineBox::contentLogicalWidth const):
(WebCore::InlineIterator::LineBox::isHorizontal const):
(WebCore::InlineIterator::LineBox::baselineType const):
(WebCore::InlineIterator::LineBox::containingBlock const):
(WebCore::InlineIterator::LineBox::containingFragment const):
(WebCore::InlineIterator::LineBox::isFirstAfterPageBreak const):
(WebCore::InlineIterator::LineBox::isFirst const):
- layout/integration/inline/InlineIteratorLineBoxLegacyPath.h: Renamed from Source/WebCore/layout/integration/InlineIteratorLineBoxLegacyPath.h.
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::LineBoxIteratorLegacyPath):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::contentLogicalTop const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::contentLogicalBottom const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::contentLogicalTopAdjustedForPrecedingLineBox const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::contentLogicalBottomAdjustedForFollowingLineBox const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::top const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::bottom const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::inkOverflowTop const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::inkOverflowBottom const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::contentLogicalLeft const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::contentLogicalRight const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::isHorizontal const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::baselineType const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::containingBlock const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::containingFragment const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::isFirstAfterPageBreak const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::traverseNext):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::traversePrevious):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::operator== const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::atEnd const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::firstLeafBox const):
(WebCore::InlineIterator::LineBoxIteratorLegacyPath::lastLeafBox const):
- layout/integration/inline/InlineIteratorLineBoxModernPath.h: Renamed from Source/WebCore/layout/integration/InlineIteratorLineBoxModernPath.h.
(WebCore::InlineIterator::LineBoxIteratorModernPath::LineBoxIteratorModernPath):
(WebCore::InlineIterator::LineBoxIteratorModernPath::contentLogicalTop const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::contentLogicalBottom const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::top const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::bottom const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::inkOverflowTop const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::inkOverflowBottom const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::contentLogicalTopAdjustedForPrecedingLineBox const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::contentLogicalBottomAdjustedForFollowingLineBox const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::contentLogicalLeft const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::contentLogicalRight const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::isHorizontal const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::baselineType const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::containingBlock const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::containingFragment const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::isFirstAfterPageBreak const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::traverseNext):
(WebCore::InlineIterator::LineBoxIteratorModernPath::traversePrevious):
(WebCore::InlineIterator::LineBoxIteratorModernPath::operator== const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::atEnd const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::firstLeafBox const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::lastLeafBox const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::setAtEnd):
(WebCore::InlineIterator::LineBoxIteratorModernPath::lines const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::line const):
- layout/integration/inline/InlineIteratorLogicalOrderTraversal.cpp: Renamed from Source/WebCore/layout/integration/InlineIteratorLogicalOrderTraversal.cpp.
(WebCore::InlineIterator::makeTextLogicalOrderCacheIfNeeded):
(WebCore::InlineIterator::updateTextLogicalOrderCacheIfNeeded):
(WebCore::InlineIterator::firstTextBoxInLogicalOrderFor):
(WebCore::InlineIterator::nextTextBoxInLogicalOrder):
(WebCore::InlineIterator::makeLineLogicalOrderCache):
(WebCore::InlineIterator::updateLineLogicalOrderCacheIfNeeded):
(WebCore::InlineIterator::firstLeafOnLineInLogicalOrder):
(WebCore::InlineIterator::lastLeafOnLineInLogicalOrder):
(WebCore::InlineIterator::nextLeafOnLineInLogicalOrder):
(WebCore::InlineIterator::previousLeafOnLineInLogicalOrder):
(WebCore::InlineIterator::firstLeafOnLineInLogicalOrderWithNode):
(WebCore::InlineIterator::lastLeafOnLineInLogicalOrderWithNode):
- layout/integration/inline/InlineIteratorLogicalOrderTraversal.h: Renamed from Source/WebCore/layout/integration/InlineIteratorLogicalOrderTraversal.h.
(WebCore::InlineIterator::leafBoxesInLogicalOrder):
- layout/integration/inline/InlineIteratorTextBox.cpp: Renamed from Source/WebCore/layout/integration/InlineIteratorTextBox.cpp.
(WebCore::InlineIterator::TextBox::nextTextBox const):
(WebCore::InlineIterator::TextBox::selectionRect const):
(WebCore::InlineIterator::TextBox::offsetForPosition const):
(WebCore::InlineIterator::TextBox::positionForOffset const):
(WebCore::InlineIterator::TextBox::isCombinedText const):
(WebCore::InlineIterator::TextBox::fontCascade const):
(WebCore::InlineIterator::TextBoxIterator::TextBoxIterator):
(WebCore::InlineIterator::TextBoxIterator::traverseNextTextBox):
(WebCore::InlineIterator::firstTextBoxFor):
(WebCore::InlineIterator::textBoxFor):
(WebCore::InlineIterator::textBoxesFor):
- layout/integration/inline/InlineIteratorTextBox.h: Renamed from Source/WebCore/layout/integration/InlineIteratorTextBox.h.
(WebCore::InlineIterator::TextBox::renderer const):
(WebCore::InlineIterator::TextBox::legacyInlineBox const):
(WebCore::InlineIterator::TextBoxIterator::TextBoxIterator):
(WebCore::InlineIterator::TextBoxIterator::operator++):
(WebCore::InlineIterator::TextBoxIterator::operator* const):
(WebCore::InlineIterator::TextBoxIterator::operator-> const):
(WebCore::InlineIterator::TextBoxIterator::get const):
(WebCore::InlineIterator::TextBoxRange::TextBoxRange):
(WebCore::InlineIterator::TextBoxRange::begin const):
(WebCore::InlineIterator::TextBoxRange::end const):
(WebCore::InlineIterator::TextBox::hasHyphen const):
(WebCore::InlineIterator::TextBox::TextBox):
(WebCore::InlineIterator::TextBox::text const):
(WebCore::InlineIterator::TextBox::start const):
(WebCore::InlineIterator::TextBox::end const):
(WebCore::InlineIterator::TextBox::length const):
(WebCore::InlineIterator::TextBox::selectableRange const):
(WebCore::InlineIterator::TextBox::createTextRun const):
(isType):
- layout/integration/inline/LayoutIntegrationInlineContent.cpp: Renamed from Source/WebCore/layout/integration/LayoutIntegrationInlineContent.cpp.
(WebCore::LayoutIntegration::InlineContent::InlineContent):
(WebCore::LayoutIntegration::InlineContent::hasContent const):
(WebCore::LayoutIntegration:: const):
(WebCore::LayoutIntegration::InlineContent::~InlineContent):
(WebCore::LayoutIntegration::InlineContent::rendererForLayoutBox const):
(WebCore::LayoutIntegration::InlineContent::containingBlock const):
(WebCore::LayoutIntegration::InlineContent::indexForBox const):
(WebCore::LayoutIntegration::InlineContent::firstBoxForLayoutBox const):
(WebCore::LayoutIntegration::InlineContent::firstBoxIndexForLayoutBox const):
(WebCore::LayoutIntegration::InlineContent::nonRootInlineBoxIndexesForLayoutBox const):
(WebCore::LayoutIntegration::InlineContent::clearAndDetach):
(WebCore::LayoutIntegration::InlineContent::releaseCaches):
(WebCore::LayoutIntegration::InlineContent::shrinkToFit):
- layout/integration/inline/LayoutIntegrationInlineContent.h: Renamed from Source/WebCore/layout/integration/LayoutIntegrationInlineContent.h.
(WebCore::LayoutIntegration::InlineContent::create):
(WebCore::LayoutIntegration::InlineContent::hasVisualOverflow const):
(WebCore::LayoutIntegration::InlineContent::setHasVisualOverflow):
(WebCore::LayoutIntegration::InlineContent::lineForBox const):
(WebCore::LayoutIntegration::InlineContent::lineLayout const):
(WebCore::LayoutIntegration::InlineContent::traverseNonRootInlineBoxes):
- layout/integration/inline/LayoutIntegrationInlineContentBuilder.cpp: Renamed from Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp.
(WebCore::LayoutIntegration::operator+):
(WebCore::LayoutIntegration::lineOverflowLogicalWidth):
(WebCore::LayoutIntegration::InlineContentBuilder::InlineContentBuilder):
(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
- layout/integration/inline/LayoutIntegrationInlineContentBuilder.h: Renamed from Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.h.
- layout/integration/inline/LayoutIntegrationLine.h: Renamed from Source/WebCore/layout/integration/LayoutIntegrationLine.h.
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::firstBoxIndex const):
(WebCore::LayoutIntegration::Line::boxCount const):
(WebCore::LayoutIntegration::Line::lineBoxTop const):
(WebCore::LayoutIntegration::Line::lineBoxBottom const):
(WebCore::LayoutIntegration::Line::lineBoxLeft const):
(WebCore::LayoutIntegration::Line::lineBoxRight const):
(WebCore::LayoutIntegration::Line::lineBoxHeight const):
(WebCore::LayoutIntegration::Line::lineBoxWidth const):
(WebCore::LayoutIntegration::Line::enclosingContentTop const):
(WebCore::LayoutIntegration::Line::enclosingContentBottom const):
(WebCore::LayoutIntegration::Line::scrollableOverflow const):
(WebCore::LayoutIntegration::Line::inkOverflow const):
(WebCore::LayoutIntegration::Line::baseline const):
(WebCore::LayoutIntegration::Line::baselineType const):
(WebCore::LayoutIntegration::Line::isHorizontal const):
(WebCore::LayoutIntegration::Line::contentLogicalOffset const):
(WebCore::LayoutIntegration::Line::contentLogicalWidth const):
- layout/integration/inline/LayoutIntegrationLineLayout.cpp: Renamed from Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp.
(WebCore::LayoutIntegration::LineLayout::LineLayout):
(WebCore::LayoutIntegration::LineLayout::~LineLayout):
(WebCore::LayoutIntegration::LineLayout::blockContainer):
(WebCore::LayoutIntegration::LineLayout::containing):
(WebCore::LayoutIntegration::LineLayout::isEnabled):
(WebCore::LayoutIntegration::LineLayout::canUseFor):
(WebCore::LayoutIntegration::LineLayout::canUseForAfterStyleChange):
(WebCore::LayoutIntegration::LineLayout::canUseForAfterInlineBoxStyleChange):
(WebCore::LayoutIntegration::LineLayout::shouldSwitchToLegacyOnInvalidation const):
(WebCore::LayoutIntegration::LineLayout::updateReplacedDimensions):
(WebCore::LayoutIntegration::LineLayout::updateInlineBlockDimensions):
(WebCore::LayoutIntegration::LineLayout::updateInlineTableDimensions):
(WebCore::LayoutIntegration::LineLayout::updateListItemDimensions):
(WebCore::LayoutIntegration::LineLayout::updateListMarkerDimensions):
(WebCore::LayoutIntegration::contentLogicalWidthForRenderer):
(WebCore::LayoutIntegration::contentLogicalHeightForRenderer):
(WebCore::LayoutIntegration::horizontalLogicalMargin):
(WebCore::LayoutIntegration::verticalLogicalMargin):
(WebCore::LayoutIntegration::logicalBorder):
(WebCore::LayoutIntegration::logicalPadding):
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateLineBreakBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateInlineBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateStyle):
(WebCore::LayoutIntegration::LineLayout::computeIntrinsicWidthConstraints):
(WebCore::LayoutIntegration::LineLayout::layout):
(WebCore::LayoutIntegration::LineLayout::constructContent):
(WebCore::LayoutIntegration::LineLayout::updateFormattingRootGeometryAndInvalidate):
(WebCore::LayoutIntegration::LineLayout::prepareLayoutState):
(WebCore::LayoutIntegration::LineLayout::prepareFloatingState):
(WebCore::LayoutIntegration::LineLayout::contentLogicalHeight const):
(WebCore::LayoutIntegration::LineLayout::lineCount const):
(WebCore::LayoutIntegration::LineLayout::hasVisualOverflow const):
(WebCore::LayoutIntegration::LineLayout::firstLinePhysicalBaseline const):
(WebCore::LayoutIntegration::LineLayout::lastLineLogicalBaseline const):
(WebCore::LayoutIntegration::LineLayout::adjustForPagination):
(WebCore::LayoutIntegration::LineLayout::collectOverflow):
(WebCore::LayoutIntegration::LineLayout::ensureInlineContent):
(WebCore::LayoutIntegration::LineLayout::textBoxesFor const):
(WebCore::LayoutIntegration::LineLayout::boxFor const):
(WebCore::LayoutIntegration::LineLayout::firstInlineBoxFor const):
(WebCore::LayoutIntegration::LineLayout::firstRootInlineBox const):
(WebCore::LayoutIntegration::LineLayout::firstLineBox const):
(WebCore::LayoutIntegration::LineLayout::lastLineBox const):
(WebCore::LayoutIntegration::LineLayout::firstInlineBoxRect const):
(WebCore::LayoutIntegration::LineLayout::enclosingBorderBoxRectFor const):
(WebCore::LayoutIntegration::LineLayout::visualOverflowBoundingBoxRectFor const):
(WebCore::LayoutIntegration::LineLayout::collectInlineBoxRects const):
(WebCore::LayoutIntegration::LineLayout::rendererForLayoutBox const):
(WebCore::LayoutIntegration::LineLayout::rootLayoutBox const):
(WebCore::LayoutIntegration::LineLayout::rootLayoutBox):
(WebCore::LayoutIntegration::flippedContentOffsetIfNeeded):
(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::flippedRectForWritingMode):
(WebCore::LayoutIntegration::LineLayout::hitTest):
(WebCore::LayoutIntegration::LineLayout::releaseCaches):
(WebCore::LayoutIntegration::LineLayout::clearInlineContent):
(WebCore::LayoutIntegration::LineLayout::ensureLineDamage):
(WebCore::LayoutIntegration::LineLayout::outputLineTree const):
- layout/integration/inline/LayoutIntegrationLineLayout.h: Renamed from Source/WebCore/layout/integration/LayoutIntegrationLineLayout.h.
(WebCore::LayoutIntegration::LineLayout::isPaginated const):
(WebCore::LayoutIntegration::LineLayout::flow const):
(WebCore::LayoutIntegration::LineLayout::flow):
- layout/integration/inline/LayoutIntegrationPagination.cpp: Renamed from Source/WebCore/layout/integration/LayoutIntegrationPagination.cpp.
(WebCore::LayoutIntegration::computeLineTopAndBottomWithOverflow):
(WebCore::LayoutIntegration::computeLineBreakIndex):
(WebCore::LayoutIntegration::computeOffsetAfterLineBreak):
(WebCore::LayoutIntegration::setPageBreakForLine):
(WebCore::LayoutIntegration::updateMinimumPageHeight):
(WebCore::LayoutIntegration::makeAdjustedContent):
(WebCore::LayoutIntegration::adjustLinePositionsForPagination):
- layout/integration/inline/LayoutIntegrationPagination.h: Renamed from Source/WebCore/layout/integration/LayoutIntegrationPagination.h.
- layout/integration/inline/LineSelection.h: Renamed from Source/WebCore/layout/integration/LineSelection.h.
(WebCore::LineSelection::logicalTop):
(WebCore::LineSelection::logicalBottom):
(WebCore::LineSelection::logicalRect):
(WebCore::LineSelection::physicalRect):
(WebCore::LineSelection::logicalTopAdjustedForPrecedingBlock):
(WebCore::LineSelection::selectionState):
- 5:35 AM Changeset in webkit [292953] by
-
- 16 edits1 copy9 adds in trunk/LayoutTests
TestRunner testdriver does not properly focus elements before sending keys to them
βhttps://bugs.webkit.org/show_bug.cgi?id=237589
Reviewed by Carlos Garcia Campos.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-scroll-snap/input/keyboard-expected.txt:
- web-platform-tests/css/css-scroll-snap/input/keyboard.html:
- web-platform-tests/css/css-scroll-snap/input/snap-area-overflow-boundary-expected.txt:
- web-platform-tests/css/css-scroll-snap/input/snap-area-overflow-boundary.html:
- web-platform-tests/html/semantics/forms/input-change-event-properties-expected.txt:
- web-platform-tests/html/semantics/forms/textfieldselection/selection-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/defaultValue-clobbering-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/email-set-value-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/maxlength-number-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/radio-double-activate-pseudo-expected.txt:
- web-platform-tests/html/semantics/selectors/pseudo-classes/invalid-after-clone-expected.txt:
- web-platform-tests/resources/testdriver-vendor.js: When sending keys, first focus the element
in question.
LayoutTests:
- platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/input-change-event-properties-expected.txt: Added.
- platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/invalid-after-clone-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/invalid-after-clone-expected.txt.
- platform/ios/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/input-change-event-properties-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/css/css-scroll-snap/input/keyboard-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/css/selectors/focus-visible-008-expected.txt:
- 4:47 AM Changeset in webkit [292952] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Build fix after r292951
βhttps://bugs.webkit.org/show_bug.cgi?id=239426
Debug build was broken on GTK and WPE after r292951. Fix it.
Unreviewed build-fix.
No new tests, no change in behaviour.
- platform/network/MIMEHeader.cpp:
(WebCore::MIMEHeader::parseContentTransferEncoding):
Apr 17, 2022:
- 10:55 PM Changeset in webkit [292951] by
-
- 40 edits in trunk/Source
Leverage StringView in more places
βhttps://bugs.webkit.org/show_bug.cgi?id=239426
Reviewed by Sam Weinig.
Leverage StringView in more places, to reduce the number of String allocations.
Source/WebCore:
- Modules/applicationmanifest/ApplicationManifestParser.cpp:
(WebCore::ApplicationManifestParser::parseDisplay):
(WebCore::ApplicationManifestParser::parseIcons):
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::SQLiteIDBCursor::createSQLiteStatement):
- Modules/indexeddb/server/SQLiteIDBCursor.h:
- Modules/webdatabase/Database.cpp:
(WebCore::setTextValueInDatabase):
(WebCore::retrieveTextResultFromDatabase):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(appendStringToResult): Deleted.
(accessibleElementsForObjects): Deleted.
(rendererForView): Deleted.
- css/parser/MediaQueryParser.h:
(WebCore::MediaQueryParser::MediaQueryData::setMediaType):
- editing/Editor.cpp:
(WebCore::Editor::transpose):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::debugRenderer const):
- html/MediaFragmentURIParser.cpp:
(WebCore::collectFraction):
(WebCore::MediaFragmentURIParser::parseNPTTime):
- html/StepRange.cpp:
(WebCore::StepRange::parseStep):
- html/StepRange.h:
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseToDecimalForNumberType):
(WebCore::parseToDoubleForNumberType):
- html/parser/HTMLParserIdioms.h:
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setAttributesAsText):
- layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::replaceNonPreservedNewLineCharactersAndAppend):
- layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printTextForSubtree):
- page/TextIndicator.cpp:
(WebCore::containsOnlyWhiteSpaceText):
- platform/Decimal.cpp:
(WebCore::Decimal::fromString):
- platform/Decimal.h:
- platform/network/CacheValidation.cpp:
(WebCore::parseCacheHeader):
(WebCore::parseCacheControlDirectives):
- platform/network/HTTPParsers.cpp:
(WebCore::filenameFromHTTPContentDisposition):
- platform/network/HTTPParsers.h:
- platform/network/MIMEHeader.cpp:
(WebCore::retrieveKeyValuePairs):
(WebCore::MIMEHeader::parseContentTransferEncoding):
- platform/network/MIMEHeader.h:
- platform/network/ParsedContentType.cpp:
(WebCore::ParsedContentType::setContentType):
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::isAttachment const):
(WebCore::ResourceResponseBase::isAttachmentWithFilename const):
- platform/network/curl/ResourceResponseCurl.cpp:
(WebCore::ResourceResponse::platformSuggestedFilename const):
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::executeCommandSlow):
(WebCore::SQLiteDatabase::clearAllTables):
(WebCore::SQLiteDatabase::prepareStatementSlow):
(WebCore::SQLiteDatabase::prepareHeapStatementSlow):
- platform/sql/SQLiteDatabase.h:
- platform/xr/PlatformXR.h:
(PlatformXR::parseSessionFeatureDescriptor):
- svg/SVGAnimationElement.cpp:
(WebCore::parseKeyTimes):
(WebCore::SVGAnimationElement::parseAttribute):
Source/WebKit:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
Source/WebKitLegacy/mac:
- WebView/WebImmediateActionController.mm:
(+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
Source/WTF:
- wtf/text/StringImpl.cpp:
- wtf/text/StringImpl.h:
(WTF::isNotSpaceOrNewline):
- wtf/text/WTFString.h:
- 2:52 PM Changeset in webkit [292950] by
-
- 4 edits in trunk/Source/JavaScriptCore
Harden JSObject::setPrototypeOf.
βhttps://bugs.webkit.org/show_bug.cgi?id=239440
Reviewed by Yusuke Suzuki.
- runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeDirect):
(JSC::JSObject::setPrototypeWithCycleCheck):
- runtime/JSObject.h:
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):
- 2:01 PM Changeset in webkit [292949] by
-
- 5 edits in trunk/Source/WebCore
Unreviewed, non-unified build fixes after 249632@main
βhttps://bugs.webkit.org/show_bug.cgi?id=239436
- workers/DedicatedWorkerThread.cpp:
- workers/WorkerGlobalScope.cpp:
- workers/WorkerScriptLoader.cpp:
- workers/service/ServiceWorkerClientData.cpp:
- 6:32 AM Changeset in webkit [292948] by
-
- 2 edits in trunk/Source/WebCore
RenderDeprecatedFlexibleBox::applyLineClamp should use size_t
βhttps://bugs.webkit.org/show_bug.cgi?id=239389
Reviewed by Darin Adler.
Use size_t consistently in applyLineClamp.
While LineClampValue is int based, it can also be a percent type which expands the clamping range to size_t.
getHeightForLineCount -> use size_t and drop the magic -1.
heightForLineCount -> return LayoutUnit instead of int.
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::getHeightForLineCount):
(WebCore::heightForLineCount):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
- 1:08 AM Changeset in webkit [292947] by
-
- 13 edits3 adds in trunk
Make release assertion in Document::updateLayout more precise for FrameSelection::setSelection
βhttps://bugs.webkit.org/show_bug.cgi?id=239431
Reviewed by Alan Bujtas.
Source/WebCore:
Avoid the assertion failure by allowing no-op layout updates within FrameSelection::setSelection.
To do this, this patch introduces a new RAII object, UpToDateLayoutScope, which denotes when when the layout
is up-to-date and therefore does not require a new layout update. When this scope exists in the stack frame,
we allow calls to Document::updateLayout even inside ScriptDisallowedScope. We also assert that nobody attempts
to schedule a new style resolution or layout when this object exists.
Test: fast/forms/textarea-selection-update-during-DOMNodeRemoved-crash.html
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::updateLayout):
- dom/Document.h:
(WebCore::Document::upToDateLayoutScopeCount const):
(WebCore::Document::incrementUpToDateLayoutScopeCount):
(WebCore::Document::decrementUpToDateLayoutScopeCount):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setSelection):
- page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::scheduleLayout):
- rendering/RenderObject.h:
(WebCore::RenderObject::isSetNeedsLayoutForbidden const):
- rendering/UpToDateLayoutScope.h: Added.
(WebCore::UpToDateLayoutScope::UpToDateLayoutScope):
(WebCore::UpToDateLayoutScope::~UpToDateLayoutScope):
(WebCore::UpToDateLayoutScope::scopeIfLayoutIsUpToUpdate):
(WebCore::UpToDateLayoutScope::needsLayout):
LayoutTests:
Add a regression test, and fix existing accessibility tests which were mutating DOM inside setSelection
via should* functions. In production, this will never happen since accessibility notification will be sent
to UI process asynchronously and accesssibility code won't try to mutate DOM synchronously.
- accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: Rebaselined.
- accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html: Delay DOM mutations in should*
until the notification is over.
- accessibility/mac/selection-change-userinfo.html: Ditto.
- accessibility/mac/selection-sync.html: Ditto.
- accessibility/mac/selection-value-changes-for-aria-textbox.html: Ditto.
- fast/forms/textarea-selection-update-during-DOMNodeRemoved-crash-expected.txt: Added.
- fast/forms/textarea-selection-update-during-DOMNodeRemoved-crash.html: Added.