[webkit-changes] [WebKit/WebKit] 300647: Non-unified build fixes, late February 2023 edition

Adrian Perez noreply at github.com
Tue Feb 28 04:25:15 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 30064716d455ca120a6dabd23900e843d4f2b1df
      https://github.com/WebKit/WebKit/commit/30064716d455ca120a6dabd23900e843d4f2b1df
  Author: Adrian Perez de Castro <aperez at igalia.com>
  Date:   2023-02-28 (Tue, 28 Feb 2023)

  Changed paths:
    M Source/JavaScriptCore/b3/B3Const128Value.cpp
    M Source/JavaScriptCore/jit/JITCodeMap.h
    M Source/WebCore/Modules/indexeddb/IDBKeyData.cpp
    M Source/WebCore/Modules/mediasource/MediaSource.cpp
    M Source/WebCore/Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp
    M Source/WebCore/Modules/webaudio/AsyncAudioDecoder.cpp
    M Source/WebCore/Modules/webaudio/AudioProcessingEvent.cpp
    M Source/WebCore/Modules/webaudio/OfflineAudioCompletionEvent.cpp
    M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h
    M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameAlgorithms.cpp
    M Source/WebCore/accessibility/AXLogger.cpp
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
    M Source/WebCore/accessibility/AccessibilitySVGElement.cpp
    M Source/WebCore/animation/KeyframeEffectStack.h
    M Source/WebCore/bindings/js/JSAudioBufferCustom.cpp
    M Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp
    M Source/WebCore/bindings/js/JSDOMWrapperCache.cpp
    M Source/WebCore/bindings/js/JSDeprecatedCSSOMValueCustom.cpp
    M Source/WebCore/bindings/js/JSNodeListCustom.cpp
    M Source/WebCore/css/CSSBasicShapes.cpp
    M Source/WebCore/css/CSSCounterStyleDescriptors.cpp
    M Source/WebCore/css/CSSFunctionValue.cpp
    M Source/WebCore/css/CSSGridAutoRepeatValue.cpp
    M Source/WebCore/css/CSSImageSetOptionValue.h
    M Source/WebCore/css/CSSTransformListValue.h
    M Source/WebCore/css/ComputedStyleExtractor.h
    M Source/WebCore/css/DeprecatedCSSOMCounter.h
    M Source/WebCore/css/calc/CSSCalcExpressionNode.h
    M Source/WebCore/css/calc/CSSCalcOperationNode.h
    M Source/WebCore/css/typedom/transform/CSSTransformValue.cpp
    M Source/WebCore/dom/ContainerNodeAlgorithms.cpp
    M Source/WebCore/dom/DocumentFragment.cpp
    M Source/WebCore/dom/ElementInternals.cpp
    M Source/WebCore/dom/EventDispatcher.cpp
    M Source/WebCore/dom/NameNodeList.cpp
    M Source/WebCore/dom/TreeScopeOrderedMap.cpp
    M Source/WebCore/editing/DeleteSelectionCommand.cpp
    M Source/WebCore/history/BackForwardCache.cpp
    M Source/WebCore/html/GenericCachedHTMLCollection.cpp
    M Source/WebCore/html/HTMLAnchorElement.cpp
    M Source/WebCore/html/HTMLElement.cpp
    M Source/WebCore/html/HTMLFieldSetElement.cpp
    M Source/WebCore/html/HTMLFormControlElement.cpp
    M Source/WebCore/html/HTMLFrameSetElement.cpp
    M Source/WebCore/html/HTMLLabelElement.cpp
    M Source/WebCore/html/HTMLMaybeFormAssociatedCustomElement.cpp
    M Source/WebCore/html/HTMLProgressElement.cpp
    M Source/WebCore/html/HTMLTableSectionElement.cpp
    M Source/WebCore/html/HTMLTextFormControlElement.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContext.cpp
    M Source/WebCore/html/parser/HTMLParserScheduler.cpp
    M Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLineTypes.h
    M Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp
    M Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h
    M Source/WebCore/layout/integration/LayoutIntegrationBoxTree.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationPagination.cpp
    M Source/WebCore/page/DOMSelection.cpp
    M Source/WebCore/platform/VideoDecoder.cpp
    M Source/WebCore/platform/VideoDecoder.h
    M Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp
    M Source/WebCore/style/UserAgentStyle.cpp
    M Source/WebCore/svg/SVGAltGlyphItemElement.cpp
    M Source/WebCore/svg/SVGFEMergeElement.cpp
    M Source/WebCore/svg/SVGPreserveAspectRatioValue.h
    M Source/WebCore/workers/service/WorkerSWClientConnection.cpp
    M Source/WebCore/workers/service/background-fetch/BackgroundFetchManager.cpp
    M Source/WebCore/workers/service/background-fetch/BackgroundFetchManager.h
    M Source/WebCore/workers/service/background-fetch/BackgroundFetchResult.h
    M Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPermissionControllerProxy.cpp

  Log Message:
  -----------
  Non-unified build fixes, late February 2023 edition
https://bugs.webkit.org/show_bug.cgi?id=253039

Unreviewed non-unified build fixes.

This one time around there has been a huge number of cases in which
definitions inline functions which have their bodies defined in
SomeTypeInlines.h headers were missing, causing the linker to fail due
to missing symbols. The solution is, of course, to add the missing
inclusions of the needed headers to bring their definitions into scope,
and building with Clang and -Wundefined-inline was helpful to avoid
needing to decypher (sometimes cryptic) linker errors.

While there are still references to inlines which Clang will warn about
with -Wundefined-inline (mostly in derived sources by the IDL bindings
generator) the build completes because the compiler is also emitting
symbols for them and the linker (at least LLD and Mold on Linux) can
resolve them. Whether this is having a negative impact on performance
due to missing inlining opportunities has not been tested because the
goal of this patch is to have the non-unified build working. Fixing the
missing -Wundefined-inline occurrences is left for follow-up patches.

* Source/JavaScriptCore/b3/B3Const128Value.cpp: Add missing
  B3Procedure.h header inclusion, reorganize includes.
* Source/JavaScriptCore/jit/JITCodeMap.h: Add missing BytecodeIndex.h
  header inclusion.
* Source/WebCore/Modules/indexeddb/IDBKeyData.cpp: Add missing
  wtf/CrossThreadCopier.h inclusion.
* Source/WebCore/Modules/mediasource/MediaSource.cpp: Add missing
  ManagedMediaSource.h inclusion
* Source/WebCore/Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:
  (WebCore::SpeechRecognitionCaptureSourceImpl::audioSamplesAvailable):
  Add missing WTF:: namespace prefix to usage of WTF::MediaTime.
* Source/WebCore/Modules/webaudio/AsyncAudioDecoder.cpp: Add missing
  ExceptionOr.h, JavaScriptCore/GenericTypedArrayViewInlines.h, and
  JavaScriptCore/TypedArrayAdaptors.h inclusions.
* Source/WebCore/Modules/webaudio/AudioProcessingEvent.cpp: Add missing
  JavaScriptCore/GenericTypedArrayViewInlines.h and
  JavaScriptCore/TypedArrayAdaptors.h inclusions.
* Source/WebCore/Modules/webaudio/OfflineAudioCompletionEvent.cpp:
  Ditto.
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.h: Add forward
  declaration of the ExceptionOr template.
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrameAlgorithms.cpp:
  Add missing ExceptionOr.h inclusion.
* Source/WebCore/accessibility/AXLogger.cpp: Add missing Document.h
  inclusion.
* Source/WebCore/accessibility/AccessibilityObject.cpp: Add missing
  ElementInlines.h inclusion.
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp: Add missing
  ElementAncestorIteratorInlines.h header inclusion.
* Source/WebCore/accessibility/AccessibilitySVGElement.cpp: Ditto, and
  remove now unneeded inclusion of the ElementIterator.h header.
* Source/WebCore/animation/KeyframeEffectStack.h: Add missing forward
  declaration for the Document type.
* Source/WebCore/bindings/js/JSAudioBufferCustom.cpp: Add missing
  JavaScriptCore/GenericTypedArrayViewInlines.h and
  JavaScriptCore/TypedArrayAdaptors.h inclusions.
* Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp: Replace
  inclusion of WebCoreOpaqueRoot.h with WebCoreOpaqueRootInlines.h
* Source/WebCore/bindings/js/JSDOMWrapperCache.cpp: Add missing
  JSDOMGlobalObjectInlines.h inclusion, remove
  JavaScriptCore/JSCInlines.h.
* Source/WebCore/bindings/js/JSDeprecatedCSSOMValueCustom.cpp: Add
  missing WebCoreOpaqueRootInlines.h inclusion.
* Source/WebCore/bindings/js/JSNodeListCustom.cpp: Ditto.
* Source/WebCore/css/CSSBasicShapes.cpp: Add missing CSSValuePair.h
  inclusion.
* Source/WebCore/css/CSSCounterStyleDescriptors.cpp: Ditto.
* Source/WebCore/css/CSSFunctionValue.cpp: Add missing
  CSSValueKeywords.h and wtf/text/StringBuilder.h inclusions.
* Source/WebCore/css/CSSGridAutoRepeatValue.cpp: Add missing
  CSSValueKeywords.h inclusion.
* Source/WebCore/css/CSSImageSetOptionValue.h: Add missing
  wtf/text/WTFString.h inclusion.
* Source/WebCore/css/CSSTransformListValue.h: Ditto.
* Source/WebCore/css/ComputedStyleExtractor.h: Add missing wtf/Span.h
  inclusion.
* Source/WebCore/css/DeprecatedCSSOMCounter.h: Add missing
  CSSValueKeywords.h inclusion.
* Source/WebCore/css/calc/CSSCalcExpressionNode.h: Add missing wtf/Ref.h
  inclusion, reorganize includes.
* Source/WebCore/css/calc/CSSCalcOperationNode.h: Add missing
  wtf/Vector.h inclusion.
* Source/WebCore/css/typedom/transform/CSSTransformValue.cpp: Add
  missing CSSValueKeywords.h inclusion.
* Source/WebCore/dom/ContainerNodeAlgorithms.cpp: Add missing
  ElementChildIteratorInlines.h inclusion.
* Source/WebCore/dom/DocumentFragment.cpp: Add missing
  TypedElementDescendantIteratorInlines.h inclusion.
* Source/WebCore/dom/ElementInternals.cpp: Add missing DocumentInlines.h
  and ElementInlines.h inclusion.
* Source/WebCore/dom/EventDispatcher.cpp: Add missing
  FrameDestructionObserverInlines.h inclusion.
* Source/WebCore/dom/NameNodeList.cpp: Add missing ElementInlines.h and
  LiveNodeListInlines.h inclusions.
* Source/WebCore/dom/TreeScopeOrderedMap.cpp: Add missing
  TypedElementDescendantIteratorInlines.h inclusion, and replace
  ElementIterator.h inclusion with ElementInlines.h which transitively
  includes the former.
* Source/WebCore/editing/DeleteSelectionCommand.cpp: Add missing
  ElementInlines.h inclusion.
* Source/WebCore/history/BackForwardCache.cpp: Add missing
  FrameDestructionObserverInlines.h inclusion.
* Source/WebCore/html/GenericCachedHTMLCollection.cpp: Add missing
  CachedHTMLCollectionInlines.h inclusion.
* Source/WebCore/html/HTMLAnchorElement.cpp: Replace inclusion of
  ElementIterator.h inclusion with ElementAncestorIteratorInlines.h,
  which transitively includes the former.
* Source/WebCore/html/HTMLElement.cpp: Add missing
  ElementChildIteratorInlines.h and
  TypedElementDescendantIteratorInlines.h inclusions.
* Source/WebCore/html/HTMLFieldSetElement.cpp: Replace ElementIterator.h
  inclusion with ElementChildIteratorInlines.h, which also transitively
  includes the former.
* Source/WebCore/html/HTMLFormControlElement.cpp: Add missing
  ElementInlines.h inclusion.
* Source/WebCore/html/HTMLFrameSetElement.cpp: Replace ElementIterator.h
  inclusion with ElementAncestorIteratorInlines.h, which also
  transitively includes the former.
* Source/WebCore/html/HTMLLabelElement.cpp: Replace ElementIterator.h
  inclusion with TypedElementDescendantIteratorInlines.h, which also
  transitively includes the former.
* Source/WebCore/html/HTMLMaybeFormAssociatedCustomElement.cpp: Add
  missing Document.h inclusion.
* Source/WebCore/html/HTMLProgressElement.cpp: Replace ElementIterator.h
  inclusion with TypedElementDescendantIteratorInlines.h, which also
  transitively includes the former.
* Source/WebCore/html/HTMLTableSectionElement.cpp: Add missing
  ElementChildIteratorInlines.h inclusion.
* Source/WebCore/html/HTMLTextFormControlElement.cpp: Add missing
  ElementInlines.h inclusion.
* Source/WebCore/html/canvas/WebGLRenderingContext.cpp: Add missing
  WebCoreOpaqueRootInlines.h inclusion.
* Source/WebCore/html/parser/HTMLParserScheduler.cpp: Add missing
  ElementInlines.h inclusion.
* Source/WebCore/inspector/agents/InspectorDOMAgent.cpp: Replace
  Element.h inclusion with ElementInlines.h, which also transitively
  includes the former.
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.h:
  Add missing InlineLineTypes.h inclusion.
* Source/WebCore/layout/formattingContexts/inline/InlineLineTypes.h: Add
  missing LayoutUnits.h inclusion.
* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
  Add missing InlineFormattingState.h, InlineSoftLineBreakItem.h,
  LayoutUnit.h, and TextDirection.h inclusions.
* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h:
  Add missing wtf/Forward.h inclusion.
* Source/WebCore/layout/integration/LayoutIntegrationBoxTree.h: Add
  missing forward declarations of RenderElement, RenderObject, and
  RenderText.
* Source/WebCore/layout/integration/inline/LayoutIntegrationPagination.cpp:
  Add missing InlineIteratorLineBox.h inclusion.
* Source/WebCore/page/DOMSelection.cpp: Add missing ShadowRoot.h
  inclusion.
* Source/WebCore/platform/VideoDecoder.cpp: Add missing wtf/UniqueRef.h
  and wtf/text/WTFString.h inclusions.
* Source/WebCore/platform/VideoDecoder.h: Add missing wtf/Ref.h
  inclusion.
* Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp: Replace
  ElementIterator.h inclusion with ElementChildIteratorInlines.h, which
  also transitively includes the former.
* Source/WebCore/style/UserAgentStyle.cpp: Add missing ElementInlines.h
  inclusion.
* Source/WebCore/svg/SVGAltGlyphItemElement.cpp: Replace
  ElementIterator.h inclusion with ElementChildIteratorInlines.h, which
  also transitively includes the former.
* Source/WebCore/svg/SVGFEMergeElement.cpp: Ditto.
* Source/WebCore/svg/SVGPreserveAspectRatioValue.h: Add missing forward
  declaration for the IPC::ArgumentCoder template.
* Source/WebCore/workers/service/WorkerSWClientConnection.cpp: Add
  missing BackgroundFetchRecordInformation.h inclusion.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchManager.cpp:
  Add missing ServiceWorkerRegistration.h inclusion.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchManager.h:
  Add missing BackgroundFetchRegistration.h inclusion.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchResult.h:
  Add missing wtf/EnumTraits.h inclusion.
* Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.h:
  Prepend missing WTF:: namespace to WTF::MediaTime usage.
* Source/WebKit/UIProcess/WebPageProxy.cpp: Add missing APINumber.h and
  APIURL.h inclusions.
* Source/WebKit/UIProcess/WebPermissionControllerProxy.cpp:
  (WebKit::WebPermissionControllerProxy::mostReasonableWebPageProxy const):
  Add missing WebCore:: namespace to usage of
  WebCore::SecurityOriginData.

Canonical link: https://commits.webkit.org/260931@main




More information about the webkit-changes mailing list