Skip to content
Permalink
main
Switch branches/tags

Commits on Aug 18, 2022

  1. Expose text fragment matching via WebKit SPI

    https://bugs.webkit.org/show_bug.cgi?id=244079
    
    Reviewed by Megan Gardner.
    
    Add WKWebView SPI that asynchronously returns the first text fragment directive
    match (if any) as a plain text string.
    
    * Source/WebCore/WebCore.xcodeproj/project.pbxproj:
    * Source/WebCore/dom/FragmentDirectiveParser.h:
    * Source/WebCore/dom/FragmentDirectiveRangeFinder.h:
    Expose text fragment directive parser and range computation entry points from WebCore.
    
    * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
    (-[WKWebView _getTextFragmentMatchWithCompletionHandler:]):
    * Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:
    Add SPI.
    
    * Source/WebKit/UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::getTextFragmentMatch):
    * Source/WebKit/UIProcess/WebPageProxy.h:
    * Source/WebKit/WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::getTextFragmentMatch):
    * Source/WebKit/WebProcess/WebPage/WebPage.h:
    * Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
    Compute the range for the first viable text fragment, if any, flatten
    it to a plain text string, and return it to the app.
    
    * Tools/TestWebKitAPI/SourcesCocoa.txt:
    * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
    * Tools/TestWebKitAPI/Tests/WebKitCocoa/TextFragments.mm: Added.
    (TEST):
    Add a test that ensures that the API works reasonably. This is
    not meant to be an exhaustive test of text fragment parsing, just
    a basic test of the API.
    
    Canonical link: https://commits.webkit.org/253575@main
    hortont424 committed Aug 18, 2022
  2. [WebGL] Allow GCGLSpan to be assigned.

    https://bugs.webkit.org/show_bug.cgi?id=244078
    rdar://problem/98818853
    
    Reviewed by Kimmo Kinnunen.
    
    * Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
    (WebCore::WebGLRenderingContextBase::texImageSourceHelper):
    (WebCore::WebGLRenderingContextBase::texImageImpl): Remove the std::optional
    wrapping of GCGLSpan now that GCGLSpan is assignable.
    * Source/WebCore/platform/graphics/GraphicsTypesGL.h:
    (GCGLSpan<GCGLvoid>::GCGLSpan): Implement assignment operator for GCGLSpan. This
    neccessitates removing the const on bufSize member.
    
    Canonical link: https://commits.webkit.org/253574@main
    djg committed Aug 18, 2022
  3. git-webkit setup: Prefer local user.name and email over global git se…

    …tting
    
    https://bugs.webkit.org/show_bug.cgi?id=243156
    
    Reviewed by Jonathan Bedard.
    
    * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
    (Setup.git):
    
    Canonical link: https://commits.webkit.org/253573@main
    serakeri authored and JonWBedard committed Aug 18, 2022
  4. AX: Remove unused AccessibilityRenderObject::setRenderer function

    https://bugs.webkit.org/show_bug.cgi?id=244073
    rdar://problem/98814286
    
    Reviewed by Chris Fleizach.
    
    * Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
    (WebCore::AccessibilityRenderObject::setRenderer): Deleted.
    * Source/WebCore/accessibility/AccessibilityRenderObject.h:
    
    Canonical link: https://commits.webkit.org/253572@main
    twilco committed Aug 18, 2022
  5. PseudoElement should use WeakPtr<Element> instead of Element*

    https://bugs.webkit.org/show_bug.cgi?id=244080
    
    Reviewed by Chris Dumez.
    
    * Source/WebCore/dom/PseudoElement.cpp:
    (WebCore::PseudoElement::PseudoElement):
    (WebCore::PseudoElement::clearHostElement):
    (WebCore::PseudoElement::rendererIsNeeded):
    * Source/WebCore/dom/PseudoElement.h:
    
    Canonical link: https://commits.webkit.org/253571@main
    rniwa committed Aug 18, 2022
  6. [Cocoa] Establish AVCapture server connection when capturing audio or…

    … video
    
    https://bugs.webkit.org/show_bug.cgi?id=243826
    <rdar://97391073>
    
    Reviewed by Jer Noble.
    
    +[AVCaptureDevice ensureServerConnection] should be called before capture begins so
    call it from GPUProcess::updateCaptureAccess instead of from GPUProcess::updateSandboxAccess
    because we don't currently extend the GPU process sandbox when capturing only audio on
    macOS.
    
    * Source/WebKit/GPUProcess/GPUProcess.cpp:
    (WebKit::GPUProcess::updateCaptureAccess): Call ensureAVCaptureServerConnection.
    (WebKit::GPUProcess::updateSandboxAccess): Remove call to sandboxWasUpatedForCapture.
    * Source/WebKit/GPUProcess/GPUProcess.h:
    
    * Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm:
    (WebKit::GPUProcess::ensureAVCaptureServerConnection): Renamed from sandboxWasUpatedForCapture.
    (WebKit::GPUProcess::sandboxWasUpatedForCapture): Deleted.
    
    Canonical link: https://commits.webkit.org/253570@main
    eric-carlson committed Aug 18, 2022
  7. [LFC][IFC] Do not generate text runs for empty text content

    https://bugs.webkit.org/show_bug.cgi?id=244071
    
    Reviewed by Antti Koivisto.
    
    Empty text inline items (initiated by "" generated content) is supposed to be all collapsed.
    This fixes certain alignment issues where an empty inline-block box now behaves like one and its baseline is computed accordingly (wpt/css/css-content/attr-case-sensitivity-002.html and /css/css-inline/empty-text-node-001.html).
    
    * LayoutTests/fast/css/empty-generated-content-expected.txt:
    * LayoutTests/platform/mac/fast/text/capitalize-empty-generated-string-expected.txt:
    * Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp:
    (WebCore::Layout::Line::appendTextContent):
    
    Canonical link: https://commits.webkit.org/253569@main
    alanbujtas committed Aug 18, 2022
  8. Unreviewed, fix libpas build on internal build

    https://bugs.webkit.org/show_bug.cgi?id=244099
    
    * Source/bmalloc/libpas/src/libpas/pas_fast_tls.h:
    
    Canonical link: https://commits.webkit.org/253568@main
    Constellation committed Aug 18, 2022
  9. NetworkCache uses URL instead of URI as a part of caching key

    https://bugs.webkit.org/show_bug.cgi?id=244000
    
    Reviewed by Alex Christensen.
    
    Per [1], the key is composed of, at a minimum, the request method and target URI.
    But in NetworkCache, Cache::makeCacheKey uses URL as a part of key instead. This patch
    uses url().stringWithoutFragmentIdentifier() instead of url() as a part of the key.
    
    [1] https://httpwg.org/specs/rfc9111.html#caching.overview
    
    * LayoutTests/http/tests/cache/disk-cache/disk-cache-fragments-expected.txt: Added.
    * LayoutTests/http/tests/cache/disk-cache/disk-cache-fragments.html: Added.
    * LayoutTests/http/tests/cache/disk-cache/resources/cache-test.js:
    (requireFragment):
    (addFragmentToURL):
    (loadResource):
    * LayoutTests/http/tests/inspector/network/local-resource-override-basic-expected.txt:
    * Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:
    (WebKit::NetworkCache::Cache::makeCacheKey):
    (WebKit::NetworkCache::Cache::retrieve):
    (WebKit::NetworkCache::Cache::store):
    
    Canonical link: https://commits.webkit.org/253567@main
    cathiechen committed Aug 18, 2022
  10. Revert [253530@main] :has(:lang(~)) doesn't get invalidated

    https://bugs.webkit.org/show_bug.cgi?id=243172
    rdar://98834362
    
    Reverting commit due to causing bot opensource API test to crash on all queues.
    
    Unreviewed revert.
    
    * LayoutTests/fast/css/lang-pseudo-container-query-invalidation-expected.html: Removed.
    * LayoutTests/fast/css/lang-pseudo-container-query-invalidation-xhtml-expected.html: Removed.
    * LayoutTests/fast/css/lang-pseudo-container-query-invalidation-xhtml.xhtml: Removed.
    * LayoutTests/fast/css/lang-pseudo-container-query-invalidation.html: Removed.
    * Source/WebCore/css/SelectorCheckerTestFunctions.h:
    (WebCore::matchesLangPseudoClass):
    * Source/WebCore/dom/Element.cpp:
    (WebCore::Element::attributeChanged):
    (WebCore::Element::insertedIntoAncestor):
    (WebCore::Element::removedFromAncestor):
    (WebCore::effectiveLangFromAttribute): Deleted.
    (WebCore::Element::effectiveLang const): Deleted.
    * Source/WebCore/dom/Element.h:
    * Source/WebCore/dom/ElementRareData.cpp:
    * Source/WebCore/dom/ElementRareData.h:
    (WebCore::ElementRareData::useTypes const):
    (WebCore::ElementRareData::effectiveLang const): Deleted.
    (WebCore::ElementRareData::setEffectiveLang): Deleted.
    * Source/WebCore/dom/NodeRareData.h:
    * Source/WebCore/style/PseudoClassChangeInvalidation.cpp:
    (WebCore::Style::PseudoClassChangeInvalidation::computeInvalidation):
    (WebCore::Style::PseudoClassChangeInvalidation::collectRuleSets):
    * Source/WebCore/style/PseudoClassChangeInvalidation.h:
    (WebCore::Style::PseudoClassChangeInvalidation::PseudoClassChangeInvalidation):
    (): Deleted.
    
    Canonical link: https://commits.webkit.org/253566@main
    HerculesH committed Aug 18, 2022
  11. color-scheme should not propagate to viewport background if set on <b…

    …ody>
    
    https://bugs.webkit.org/show_bug.cgi?id=243757
    
    Reviewed by Simon Fraser.
    
    Change to web compatible behavior where setting the color-scheme on <body> no longer propagates it to <html> tag for scrollbar and
    webpage background purposes. This change puts WebKit in-line with Gecko & Blink.
    
    * LayoutTests/css-dark-mode/color-scheme-scrollbar-expected.txt:
    * LayoutTests/css-dark-mode/color-scheme-scrollbar.html:
    * Source/WebCore/page/FrameView.cpp:
    (WebCore::FrameView::rendererForColorScheme const):
    
    Canonical link: https://commits.webkit.org/253565@main
    nt1m committed Aug 18, 2022
  12. [libpas] Use __thread keyword on Linux and FreeBSD

    https://bugs.webkit.org/show_bug.cgi?id=243975
    
    Reviewed by Mark Lam.
    
    This patch adds a new handling of TLS in libpas: using __thread for Linux and FreeBSD.
    The mechanism is that,
    
    1. Declare __thread with initial value NULL.
    2. Then, when setting a valid TLS value, we also call pthread_setspecific to schedule thread exit callback.
    3. In thread exit callback, we clear __thread with PAS_THREAD_LOCAL_CACHE_DESTROYED.
    4. So, we can check whether the thread is dying by looking at __thread's variable, if it is PAS_THREAD_LOCAL_CACHE_DESTROYED, then it is dying.
    
    This offers better performance in Linux and FreeBSD since we can use ELF's TLS allocation for libpas TLC.
    On OSS Darwin, we continue using repeated pthread_setspecific since __thread implementation does not work. This is because it can be cleared to the initial
    value after the TLS clearing iteration. So we cannot use this value for pthread exiting detection.
    
    * Source/bmalloc/libpas/src/libpas/pas_fast_tls.h:
    * Source/bmalloc/libpas/src/libpas/pas_thread_local_cache.c:
    (destructor):
    * Source/bmalloc/libpas/src/libpas/pas_thread_local_cache.h:
    (pas_thread_local_cache_try_get):
    (pas_thread_local_cache_can_set):
    * Source/bmalloc/libpas/src/libpas/pas_utils.h:
    
    Canonical link: https://commits.webkit.org/253564@main
    Constellation committed Aug 18, 2022
  13. Element code shouldn't know about the RenderListBox rendering

    https://bugs.webkit.org/show_bug.cgi?id=244072
    
    Reviewed by Alan Bujtas.
    
    Element::getClientRects() has some custom code for HTMLOptionElement and HTMLOptGroupElement
    because they are special; they don't have their own renderers, but are draws as rows of the
    RenderListBox. But Element code shouldn't know about the details of RenderListBox, so move
    some code from listBoxElementBoundingBox() to RenderListBox.
    
    * Source/WebCore/dom/Element.cpp:
    (WebCore::listBoxElementBoundingBox):
    * Source/WebCore/rendering/RenderListBox.cpp:
    (WebCore::RenderListBox::itemBoundingBoxRect const): Made const.
    (WebCore::RenderListBox::optionRowIndex const): Helper that gets the row for an
    <option>. This is not HTMLOptionElement::index(), because that only tracks <option>s,
    yet <optgroup> elements have a header row. I believe the old code got this wrong.
    (WebCore::RenderListBox::localBoundsOfOption const):
    (WebCore::RenderListBox::localBoundsOfOptGroup const):
    (WebCore::RenderListBox::listIndexAtOffset const): Made const
    (WebCore::RenderListBox::itemBoundingBoxRect): Deleted.
    (WebCore::RenderListBox::listIndexAtOffset): Deleted.
    * Source/WebCore/rendering/RenderListBox.h:
    
    Canonical link: https://commits.webkit.org/253563@main
    smfr committed Aug 18, 2022
  14. Web Inspector: Elements Tab: Computed: variables section looks broken…

    … when the selected element has no CSS variables
    
    https://bugs.webkit.org/show_bug.cgi?id=242704
    
    Reviewed by Devin Rousso.
    
    The original implementation made some wrong assumptions about the layout lifecycle
    for CSS variable groups. This patch introduces a refactoring to correct that and
    fix a bunch issues at once.
    
    Context:
    
    The properties section of the Computed panel is updated in response to the event
    `WI.CSSStyleDeclaration.Event.PropertiesChanged` fired by
    `WI.DOMNodeStyles.computedStyle` which is a `WI.CSSDeclaration` instance.
    This allows it to dynamically reflect changes to any styles of the selected node.
    
    There's an optimization in `WI.DOMNodeStyles.refresh() -> fetchedComputedStyle()`
    where a change to styles of existing CSS rules isn't considered a `significantChange`.
    This prevents a lot of needless re-layout in components which observe style refreshes.
    
    The Properties section of the Computed panel listens for the event on `WI.DOMNodeStyles.computedStyle`
    to address this optimization.
    
    When grouping CSS variables, the groups were distinct `WI.CSSDeclaration` instances for clarity.
    But they were cached and never updated in response to style changes on a node.
    Because of this, the sections for variable groups in the Computed panel did not reflect
    any changes: adding/removing variables, changing their type, etc.
    
    The changes:
    
    1) The logic for grouping variables by type is moved from `WI.DOMNodeStyles` to
    `WI.CSSDeclaration`. This way, all sections in the Computed panel rely on a single
    data source: `WI.DOMNodeStyles.computedStyle`.
    It's the view's job to pick the subset of properties to render.
    
    2) A new getter is added, `WI.CSSDeclaration.variablesForType`, to do this extra work
    for all variable groups when consumers ask for them.
    
    There can be a growing number of groups, so having separate iterations on every style
    change over a potentially long list of properties is wasteful.
    Plus, anything that doesn't match a type checker needs to go in the "Other" group.
    
    3) `WI.ComputedStyleSection` is modified to obtain a list of properties to render
    depending on the variables group type set on `WI.ComputedStyleSection.variablesGroupType`.
    This subset of properties is then used in `WI.ComputedStyleSection.layout()`.
    
    Introduced debouncing for layout in respose to `WI.DOMNodeStyles.Events.PropertiesChanged`
    because it is expensive; throwing away all elements for properties and rebuilding from scratch.
    
    4) Filtering is implemented. Sections that have no matches are hidden.
    
    5) The test that checks CSS variables grouping is renamed and updated.
    
    6) Modify `WI.View` to call `WI.View.didSubtreeLayout()` on the immediate parent
    of the first dirty view that did layout on itself and all of its descendant views.
    This allows a parent view to react in response to layout under its subtree.
    
    This behavior is used to call `WI.ComputedStyleDetailsPanel.didSubtreeLayout()` where we can
    toggle the visibility of the "Variables" section when the nested sections for variable groups are empty.
    
    * LayoutTests/inspector/css/variablesForType-expected.txt: Renamed from LayoutTests/inspector/css/variableStylesByType-expected.txt.
    * LayoutTests/inspector/css/variablesForType.html: Renamed from LayoutTests/inspector/css/variableStylesByType.html.
    * LayoutTests/inspector/view/asynchronous-layout-expected.txt:
    * LayoutTests/inspector/view/asynchronous-layout.html:
    * LayoutTests/inspector/view/resources/test-view.js:
    (TestPage.registerInitializer.WI.TestView):
    (TestPage.registerInitializer.WI.TestView.prototype.get didLayoutSubtreeCount):
    (TestPage.registerInitializer.WI.TestView.prototype.didLayoutSubtree):
    (TestPage.registerInitializer):
    * LayoutTests/inspector/view/synchronous-layout-expected.txt:
    * LayoutTests/inspector/view/synchronous-layout.html:
    * Source/WebInspectorUI/UserInterface/Models/CSSStyleDeclaration.js:
    (WI.CSSStyleDeclaration):
    (WI.CSSStyleDeclaration.prototype.variablesForType):
    * Source/WebInspectorUI/UserInterface/Models/DOMNodeStyles.js:
    (WI.DOMNodeStyles):
    (WI.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
    (WI.DOMNodeStyles.prototype.get variableStylesByType): Deleted.
    * Source/WebInspectorUI/UserInterface/Views/ComputedStyleDetailsPanel.js:
    (WI.ComputedStyleDetailsPanel.displayNameForVariablesGroupType):
    (WI.ComputedStyleDetailsPanel.prototype.refresh):
    (WI.ComputedStyleDetailsPanel.prototype.layout):
    (WI.ComputedStyleDetailsPanel.prototype.didLayoutSubtree):
    (WI.ComputedStyleDetailsPanel.prototype._createVariablesStyleSection):
    (WI.ComputedStyleDetailsPanel.prototype._removeVariablesStyleSection):
    (WI.ComputedStyleDetailsPanel.prototype._renderVariablesStyleSectionGroup): Deleted.
    * Source/WebInspectorUI/UserInterface/Views/ComputedStyleSection.js:
    (WI.ComputedStyleSection.prototype.get variablesGroupType):
    (WI.ComputedStyleSection.prototype.get isEmpty):
    (WI.ComputedStyleSection.prototype.get properties):
    (WI.ComputedStyleSection.prototype.layout):
    (WI.ComputedStyleSection.prototype.detached):
    (WI.ComputedStyleSection.prototype.applyFilter):
    (WI.ComputedStyleSection.prototype._handlePropertiesChanged):
    (WI.ComputedStyleSection):
    * Source/WebInspectorUI/UserInterface/Views/View.js:
    (WI.View.prototype.updateLayout):
    (WI.View.prototype._layoutSubtree):
    (WI.View._visitViewTreeForLayout):
    (WI.View):
    
    Canonical link: https://commits.webkit.org/253562@main
    rcaliman-apple committed Aug 18, 2022
  15. [ews] Add Github status-bubbles for various jsc and gtk-wk2 queues

    https://bugs.webkit.org/show_bug.cgi?id=244085
    
    Reviewed by Jonathan Bedard.
    
    * Tools/CISupport/ews-app/ews/common/github.py:
    (GitHubEWS):
    
    Canonical link: https://commits.webkit.org/253561@main
    aj062 committed Aug 18, 2022
  16. [ews] Display waiting icon in status-bubble when a change is waiting …

    …in tester queue
    
    https://bugs.webkit.org/show_bug.cgi?id=244088
    
    Reviewed by Jonathan Bedard.
    
    * Tools/CISupport/ews-app/ews/common/github.py:
    (GitHubEWS.github_status_for_queue):
    
    Canonical link: https://commits.webkit.org/253560@main
    aj062 committed Aug 18, 2022
  17. [GLIB] Unreviewed, move crashing focus-ring expectation to glib

    Unreviewed test gardening.
    
    * LayoutTests/platform/glib/TestExpectations:
    * LayoutTests/platform/gtk/TestExpectations:
    
    Canonical link: https://commits.webkit.org/253559@main
    lauromoura committed Aug 18, 2022
  18. Unreviewed, rebaseline editing/pasteboard/4944770-2.html on mac-wk2

    https://bugs.webkit.org/show_bug.cgi?id=244087
    
    * LayoutTests/platform/mac-wk1/editing/pasteboard/4944770-2-expected.txt: Copied from LayoutTests/platform/mac/editing/pasteboard/4944770-2-expected.txt.
    * LayoutTests/platform/mac/editing/pasteboard/4944770-2-expected.txt:
    
    Canonical link: https://commits.webkit.org/253558@main
    cdumez committed Aug 18, 2022
  19. Unreviewed, reverting r253532@main.

    https://bugs.webkit.org/show_bug.cgi?id=244084
    
    Real reason for crashes was 253508@main.
    
    Reverted changeset:
    
    "Unreviewed, reverting r253512@main."
    https://bugs.webkit.org/show_bug.cgi?id=244042
    https://commits.webkit.org/253532@main
    
    Canonical link: https://commits.webkit.org/253557@main
    webkit-commit-queue authored and kkinnunen-apple committed Aug 18, 2022
  20. Add SPI for some integrity audits as debugging aids.

    https://bugs.webkit.org/show_bug.cgi?id=244074
    <rdar://problem/98815075>
    
    Reviewed by Yusuke Suzuki.
    
    * Source/JavaScriptCore/API/APIIntegrity.cpp: Added.
    (jsAuditJSContextRef):
    (jsAuditJSGlobalContextRef):
    (jsAuditJSObjectRef):
    (jsAuditJSValueRef):
    * Source/JavaScriptCore/API/APIIntegrityPrivate.h: Added.
    * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
    * Source/JavaScriptCore/Sources.txt:
    * Source/JavaScriptCore/tools/Integrity.cpp:
    (JSC::Integrity::doAudit):
    
    Canonical link: https://commits.webkit.org/253556@main
    Mark Lam committed Aug 18, 2022
  21. [GStreamer] Fix WebRTC build.......

    https://bugs.webkit.org/show_bug.cgi?id=244082
    
    Unreviewed.
    
    * Source/WebCore/platform/mediastream/gstreamer/GStreamerDTMFSenderBackend.cpp:
    (WebCore::GStreamerDTMFSenderBackend::playTone):
    (WebCore::GStreamerDTMFSenderBackend::onTonePlayed):
    * Source/WebCore/platform/mediastream/gstreamer/GStreamerDTMFSenderBackend.h:
    
    Canonical link: https://commits.webkit.org/253555@main
    philn committed Aug 18, 2022
  22. [LFC][Integration] Allow in-flow positioned inlines

    https://bugs.webkit.org/show_bug.cgi?id=244029
    <rdar://problem/98817749>
    
    Reviewed by Alan Bujtas.
    
    No reason not to anymore.
    
    * LayoutTests/platform/mac/fast/encoding/utf-16-big-endian-expected.txt:
    * LayoutTests/platform/mac/fast/encoding/utf-16-little-endian-expected.txt:
    * LayoutTests/platform/mac/fast/repaint/rel-positioned-inline-with-overflow-expected.txt:
    * Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
    (WebCore::LayoutIntegration::canUseForRenderInlineChild):
    
    Canonical link: https://commits.webkit.org/253554@main
    anttijk committed Aug 18, 2022
  23. Support background images on ::first-line

    https://bugs.webkit.org/show_bug.cgi?id=244039
    <rdar://98157640>
    
    Reviewed by Simon Fraser.
    
    This sort-of-worked (no paint invalidation) and got completely broken in 248098@main refactoring
    because we don't even trigger the resource load.
    
    This patch fixes the regression and also adds paint invalidation.
    
    * LayoutTests/TestExpectations:
    * Source/WebCore/rendering/RenderBox.cpp:
    
    Issue a repaint for ::first-line style if needed.
    
    (WebCore::RenderBox::imageChanged):
    * Source/WebCore/rendering/RenderElement.cpp:
    (WebCore::RenderElement::styleDidChange):
    
    Register renderer as client for resources in ::first-line style.
    
    (WebCore::RenderElement::willBeDestroyed):
    
    Unregister.
    
    * Source/WebCore/style/StylePendingResources.cpp:
    (WebCore::Style::loadPendingResources):
    
    Trigger the load for resources in ::first-line style.
    
    Canonical link: https://commits.webkit.org/253553@main
    anttijk committed Aug 18, 2022
  24. Utilities for ANGLE should be guarded by USE(ANGLE) not ENABLE(WEBGL)

    https://bugs.webkit.org/show_bug.cgi?id=244070
    rdar://98809413
    
    Reviewed by Tim Horton and Ryosuke Niwa.
    
    * Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.cpp:
    * Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.h:
    ENABLE(WEBGL) -> USE(ANGLE)
    
    Canonical link: https://commits.webkit.org/253552@main
    djg committed Aug 18, 2022
  25. DTMF tonechange event sometimes doesn't fire

    https://bugs.webkit.org/show_bug.cgi?id=242187
    rdar://problem/96593903
    
    Reviewed by Eric Carlson.
    
    Make sure that DTMF sender does not get GCed until it sent all tones or is stopped.
    
    * LayoutTests/webrtc/dtmf-gc-expected.txt: Added.
    * LayoutTests/webrtc/dtmf-gc.html: Added.
    * Source/WebCore/Modules/mediastream/RTCDTMFSender.cpp:
    * Source/WebCore/Modules/mediastream/RTCDTMFSender.h:
    
    Canonical link: https://commits.webkit.org/253551@main
    youennf committed Aug 18, 2022
  26. RTCDTMFSenderBackend::onTonePlayed callback does not need any parameter

    https://bugs.webkit.org/show_bug.cgi?id=244027
    rdar://problem/98774949
    
    Reviewed by Eric Carlson.
    
    The callback does not need any parameter since we ask the backend to play one tone at a time.
    Update the code accordingly.
    Make it clear that we play one tone at a time by passing a char instead of of a 1-char string.
    
    Covered by existing tests.
    
    * Source/WebCore/Modules/mediastream/RTCDTMFSender.cpp:
    (WebCore::RTCDTMFSender::RTCDTMFSender):
    (WebCore::RTCDTMFSender::playNextTone):
    * Source/WebCore/platform/mediastream/RTCDTMFSenderBackend.h:
    * Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.cpp:
    (WebCore::LibWebRTCDTMFSenderBackend::playTone):
    (WebCore::LibWebRTCDTMFSenderBackend::OnToneChange):
    (WebCore::LibWebRTCDTMFSenderBackend::onTonePlayed):
    * Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.h:
    
    Canonical link: https://commits.webkit.org/253550@main
    youennf committed Aug 18, 2022
  27. Tiled layer flicker when an animation ends

    https://bugs.webkit.org/show_bug.cgi?id=244017
    <rdar://89111231>
    
    Reviewed by Tim Horton.
    
    The test page (internal to Apple) had a tiled layer whose transform was animated via a transition.
    When the animation finished, there was sometimes a frame where tiles were missing, causing a visual
    flash. When tiled layers are being animated, we wake up every frame to re-evaluate the tile
    coverage.
    
    Transform animations are implemented via Core Animation; the code makes a fill-forwards animation on
    the layer. For such animations, `DocumentTimeline::timeToNextTick()` ensures that we don't waste
    power doing rendering updates on every frame, scheduling a timer to fire for the next relevant time.
    
    However, it was possible for this timer to fire late; this resulted in a frame where the tile
    coverage logic, which consults DocumentTimeline animation state, saw an animation that had completed
    (and computed tile coverage on that basis), but the CAAnimation was still affecting the rendered
    result, putting the tiled layer in a position where some areas without tile coverage were exposed.
    
    Fix by having the m_tickScheduleTimer fire slightly (~16ms) earlier, so that DocumentTimeline
    animations have their correct state when consulted for tile coverage computation. This may result in
    a few more rendering updates at the ends of accelerated animations (as detected by layout tests),
    but that should be benign.
    
    * LayoutTests/animations/no-style-recalc-during-accelerated-animation.html:
    * LayoutTests/animations/steps-transform-rendering-updates-expected.txt:
    * LayoutTests/animations/steps-transform-rendering-updates.html:
    * Source/WebCore/animation/DocumentTimeline.cpp:
    (WebCore::DocumentTimeline::scheduleAnimationResolution):
    (WebCore::DocumentTimeline::scheduleNextTick):
    
    Canonical link: https://commits.webkit.org/253549@main
    smfr committed Aug 18, 2022
  28. Resync WPT quirks tests

    https://bugs.webkit.org/show_bug.cgi?id=244023
    
    Reviewed by Tim Nguyen.
    
    Updated web platform tests for quirks mode as of 23ca5bfb4ac7a1b52355588cff4b0da47cffaae4.
    
    * LayoutTests/TestExpectations:
    * LayoutTests/imported/w3c/resources/import-expectations.json:
    * LayoutTests/imported/w3c/resources/resource-files.json:
    * LayoutTests/imported/w3c/web-platform-tests/quirks/META.yml: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/blocks-ignore-line-height-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/blocks-ignore-line-height.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-float-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-float.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-inline-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-inline.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-positioned-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-positioned.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-ref2.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-vertical-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk-vertical.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/body-fills-html-quirk.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/classname-query-after-sibling-adoption-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/classname-query-after-sibling-adoption.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/crashtests/list-item-whole-line-quirks-crash.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/crashtests/w3c-import.log: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/dd-dl-firefox-001-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/dd-dl-firefox-001-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/dd-dl-firefox-001.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/hashless-hex-color/limited-quirks-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/hashless-hex-color/limited-quirks.html: Copied from LayoutTests/imported/w3c/web-platform-tests/quirks/unitless-length/no-quirks.html.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/hashless-hex-color/no-quirks-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/hashless-hex-color/no-quirks.html: Copied from LayoutTests/imported/w3c/web-platform-tests/quirks/unitless-length/no-quirks.html.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/hashless-hex-color/quirks-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/hashless-hex-color/quirks.html: Copied from LayoutTests/imported/w3c/web-platform-tests/quirks/unitless-length/no-quirks.html.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/hashless-hex-color/support/common.js: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/hashless-hex-color/support/w3c-import.log: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/hashless-hex-color/w3c-import.log: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/historical/list-item-bullet-size-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/historical/list-item-bullet-size-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/historical/list-item-bullet-size.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/historical/vertical-align-in-quirks-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/historical/vertical-align-in-quirks.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/historical/w3c-import.log: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/html-fills-viewport-quirk-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/html-fills-viewport-quirk-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/html-fills-viewport-quirk-vertical-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/html-fills-viewport-quirk-vertical.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/html-fills-viewport-quirk.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-calculation-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-calculation.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-in-list-item.tentative-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-in-list-item.tentative.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-limited-quirks-mode-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-limited-quirks-mode.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-quirks-mode-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-quirks-mode.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-trailing-collapsable-whitespace-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-trailing-collapsable-whitespace-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/line-height-trailing-collapsable-whitespace.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/percentage-height-calculation-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/percentage-height-calculation.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/percentage-height-quirk-excludes-flex-grid-001-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/percentage-height-quirk-excludes-flex-grid-001.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/percentage-height-quirk-excludes-flex-grid-002-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/percentage-height-quirk-excludes-flex-grid-002.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-002-ref-expected-mismatch.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-002-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/reference/w3c-import.log: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/supports-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/supports.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/table-cell-nowrap-minimum-width-calculation-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/table-cell-nowrap-minimum-width-calculation.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/table-cell-width-calculation-abspos-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/table-cell-width-calculation-abspos.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/table-cell-width-calculation-applies-to-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/table-cell-width-calculation-applies-to.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/table-replaced-descendant-percentage-height-crash.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/text-decoration-doesnt-propagate-into-tables/standards-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/text-decoration-doesnt-propagate-into-tables/standards-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/text-decoration-doesnt-propagate-into-tables/standards.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/text-decoration-doesnt-propagate-into-tables/w3c-import.log: Added.
    * LayoutTests/imported/w3c/web-platform-tests/quirks/unitless-length/no-quirks.html:
    * LayoutTests/imported/w3c/web-platform-tests/quirks/w3c-import.log: Added.
    * LayoutTests/tests-options.json:
    
    Canonical link: https://commits.webkit.org/253548@main
    rniwa committed Aug 18, 2022
  29. [css-flexbox] WPT sync

    https://bugs.webkit.org/show_bug.cgi?id=244051
    
    Reviewed by Tim Nguyen.
    
    Synchronize our flexbox WPT with upstream as of 6c0f5fbdfdfae22295b3beafc415991d9c4f30ac
    
    * LayoutTests/TestExpectations:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/baseline-synthesis-003-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/baseline-synthesis-003.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/baseline-synthesis-004-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/baseline-synthesis-004.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-horiz-001-ref.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-horiz-001a-expected.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-horiz-001a.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-horiz-001b-expected.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-horiz-001b.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-vert-001-ref.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-vert-001a-expected.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-vert-001a.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-vert-001b-expected.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-break-request-vert-001b.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-005-expected.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-005.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-006-expected.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox-min-width-auto-006.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_direction-row-reverse-expected.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_direction-row-reverse-ref.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/flexbox_direction-row-reverse.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-001-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-001.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-002-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-002.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-003-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-003.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-004-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-004.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-005-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-005.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-006-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-006.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-007-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-007.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-008-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-008.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-009-expected.xht: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/col-wrap-009.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/row-005-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/row-005.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/row-008-expected.txt: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/row-008.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/intrinsic-size/w3c-import.log:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/w3c-import.log:
    * LayoutTests/platform/mac/TestExpectations:
    
    Canonical link: https://commits.webkit.org/253547@main
    rreno authored and nt1m committed Aug 18, 2022
  30. [CMake] Detect BoringSSL

    https://bugs.webkit.org/show_bug.cgi?id=244050
    
    Reviewed by Michael Catanzaro.
    
    Determine if the OpenSSL implementation is BoringSSL by looking for the symbol
    `OPENSSL_IS_BORINGSSL`. This information is needed to determine which WebCrypto algorithms can be
    implemented. The block of USE declarations specific to WebCore is now checked with `ENABLE_WEBCORE`
    since FindOpenSSL is only used when that is enabled on PlayStation.
    
    * Source/cmake/OptionsPlayStation.cmake:
    * Source/cmake/OptionsWinCairo.cmake:
    * Source/cmake/WebKitCommon.cmake:
    
    Canonical link: https://commits.webkit.org/253546@main
    donny-dont committed Aug 18, 2022
  31. LibraryPathDiagnostics prints UUIDs with bytes in the reverse order

    https://bugs.webkit.org/show_bug.cgi?id=244011
    rdar://98737098
    
    Reviewed by Saam Barati.
    
    In https://bugs.webkit.org/show_bug.cgi?id=243458, I added code in LibraryPathDiagnostics that
    attempts to convert `uuid_t` returned by DYLD API to `WTF::UUID`, but I didn't realize that these
    two types don't agree on endianness -- the former appears to be big-endian while the latter is
    little-endian. The natural consequence of this is that the UUIDs printed in the logs are shown
    with their bytes in the reverse order of what they should be.
    
    Fix this by removing the conversion between the two UUID types altogether, and simply use the
    platform API `uuid_unparse()` to produce the string representations of `uuid_t`s. Considering
    how infrequently this type is used in the WebKit codebase (this is the second usage of this
    type, other than ProcessLauncherCocoa), I chose to implement this as a local helper function
    rather than building this conversion into WTF's UUID type directly. Doing so would require
    either building in the assumption that `uuid_t` is stored big-endian on all platforms, or we'd
    need to use an inefficient implementation that performs this conversion by round-tripping the
    UUID through a string representation. This conversion isn't actually needed at the moment, so
    I'd rather not do either of those when the tool already exists to do what *actually* needs to
    be done -- convert the `uuid_t` to a string.
    
    * Source/WTF/wtf/darwin/LibraryPathDiagnostics.mm:
    (WTF::uuidToString):
    (WTF::LibraryPathDiagnosticsLogger::logDYLDSharedCacheInfo):
    (WTF::LibraryPathDiagnosticsLogger::logDynamicLibraryInfo):
    
    Canonical link: https://commits.webkit.org/253545@main
    davidquesada committed Aug 18, 2022
  32. Update syntax highlighter for CSS custom properties

    https://bugs.webkit.org/show_bug.cgi?id=244064
    
    Reviewed by Timothy Hatcher.
    
    * Websites/webkit.org/wp-content/plugins/hyperlight/hyperlight/languages/css.php:
    
    Canonical link: https://commits.webkit.org/253544@main
    jdatapple authored and xeenon committed Aug 18, 2022
  33. [WebGL] Calculate correct image transfer size from ArrayBufferView

    https://bugs.webkit.org/show_bug.cgi?id=243819
    rdar://98347913
    
    Reviewed by Kimmo Kinnunen.
    
    Validation was being skipped when pixels was null, which is an optimization
    instead of passing a sufficiently large array of all zeroes. Remove the two step
    approach to calculating the required bytes and instead return the value from
    `validateTexFuncData()` and pass this size to base helper functions.
    
    * LayoutTests/TestExpectations: Enable failing test.
    * Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
    (WebCore::WebGLRenderingContextBase::texImageSourceHelper):
    Unify passing image data span as GCGLSpan<> instead of as separate base ptr +
    length.
    (WebCore::WebGLRenderingContextBase::computeImageSizeInBytes): Deleted.
    (WebCore::WebGLRenderingContextBase::texImageArrayBufferViewHelper):
    Unify passing validated image data span as GCGLSpan<> instead of as separate
    base ptr + length. Adjustment due to srcOffset moved to validateTexFuncData.
    (WebCore::WebGLRenderingContextBase::texImageImpl):
    Unify passing image data span as GCGLSpan<> instead of as separate base ptr +
    length.
    (WebCore::WebGLRenderingContextBase::texImage2DBase):
    When using ANGLE, remove extra image size checks as this is handled in
    validateTexFuncData.
    (WebCore::WebGLRenderingContextBase::texImage3DBase): Deleted
    (WebCore::WebGLRenderingContextBase::texSubImage2DBase):
    When using ANGLE, remove extra image size checks as this is handled in
    validateTexFuncData.
    (WebCore::WebGLRenderingContextBase::texSubImage3DBase): Deleted
    (WebCore::WebGLRenderingContextBase::validateTexFuncData):
    Consolidate calculation of image byte size and don't skip required checks if
    pixels is null. Returns validated span of the data that will be read by texture
    specification functions.
    * Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
    - Remove unneeded texImage helper functions
    - Change validateTexFuncData to return optional validated span of image bytes
    * Source/WebCore/platform/graphics/GraphicsContextGL.cpp:
    * Source/WebCore/platform/graphics/GrpahicsContextGL.h:
    (WebCore::GraphicsContextGL::extractTextureData):
    Change pixels to span of pixels instead of ptr.
    
    Canonical link: https://commits.webkit.org/253543@main
    djg committed Aug 18, 2022

Commits on Aug 17, 2022

  1. [Gardening]: REGRESSION(253424@main): [ iOS ] fast/forms/auto-fill-bu…

    …tton/hide-auto-fill-button-when-input-becomes-readonly.html is a constant failure
    
    https://bugs.webkit.org/show_bug.cgi?id=244065
    
    Unreviewed test gardening.
    
    * LayoutTests/platform/ios/TestExpectations:
    
    Canonical link: https://commits.webkit.org/253542@main
    HerculesH committed Aug 17, 2022
Older