gecko-dev/dom/base/moz.build
Emilio Cobos Álvarez 25c0d10932 Bug 1624819 - Remove TaskCategory and other quantum dom remnants. r=smaug,media-playback-reviewers,credential-management-reviewers,cookie-reviewers,places-reviewers,win-reviewers,valentin,mhowell,sgalich,alwu
Sorry this is not a particularly easy patch to review. But it should be
mostly straight-forward.

I kept Document::Dispatch mostly for convenience, but could be
cleaned-up too / changed by SchedulerGroup::Dispatch. Similarly maybe
that can just be NS_DispatchToMainThread if we add an NS_IsMainThread
check there or something (to preserve shutdown semantics).

Differential Revision: https://phabricator.services.mozilla.com/D190450
2023-10-10 08:51:12 +00:00

620 lines
16 KiB
Python

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
with Files("*Selection*"):
BUG_COMPONENT = ("Core", "DOM: Selection")
with Files("**"):
BUG_COMPONENT = ("Core", "DOM: Core & HTML")
TEST_DIRS += ["test"]
if CONFIG["FUZZING"]:
if CONFIG["FUZZING_INTERFACES"]:
TEST_DIRS += ["fuzztest"]
# Add libFuzzer configuration directives
include("/tools/fuzzing/libfuzzer-config.mozbuild")
XPIDL_SOURCES += [
"mozIDOMWindow.idl",
"nsIContentPolicy.idl",
"nsIDOMRequestService.idl",
"nsIDroppedLinkHandler.idl",
"nsIEventSourceEventService.idl",
"nsIImageLoadingContent.idl",
"nsIMessageManager.idl",
"nsIObjectLoadingContent.idl",
"nsIScriptableContentIterator.idl",
"nsIScriptChannel.idl",
"nsISelectionController.idl",
"nsISelectionDisplay.idl",
"nsISelectionListener.idl",
"nsISlowScriptDebug.idl",
]
XPIDL_MODULE = "dom"
EXPORTS += [
"AttrArray.h",
"AutocompleteFieldList.h",
"Crypto.h",
"HTMLSplitOnSpacesTokenizer.h",
"IframeSandboxKeywordList.h",
"mozAutoDocUpdate.h",
"NodeUbiReporting.h",
"nsAttrName.h",
"nsAttrValue.h",
"nsAttrValueInlines.h",
"nsCaseTreatment.h",
"nsChildContentList.h",
"nsContentCID.h",
"nsContentCreatorFunctions.h",
"nsContentList.h",
"nsContentListDeclarations.h",
"nsContentPermissionHelper.h",
"nsContentPolicyUtils.h",
"nsContentSink.h",
"nsContentTypeParser.h",
"nsContentUtils.h",
"nsCopySupport.h",
"nsDeprecatedOperationList.h",
"nsDocElementCreatedNotificationRunner.h",
"nsDocumentWarningList.h",
"nsDOMAttributeMap.h",
"nsDOMCID.h",
"nsDOMJSUtils.h",
"nsDOMMutationObserver.h",
"nsDOMNavigationTiming.h",
"nsDOMString.h",
"nsDOMTokenList.h",
"nsFocusManager.h",
"nsFrameLoader.h", # Because binding headers include it.
"nsFrameLoaderOwner.h",
"nsFrameMessageManager.h",
"nsGlobalWindowInner.h", # Because binding headers include it.
"nsGlobalWindowOuter.h", # Because binding headers include it.
"nsIAnimationObserver.h",
"nsIContent.h",
"nsIContentInlines.h",
"nsIDocumentObserver.h",
"nsIGlobalObject.h",
"nsImageLoadingContent.h",
"nsIMutationObserver.h",
"nsINode.h",
"nsINodeList.h",
"nsIScriptContext.h",
"nsIScriptGlobalObject.h",
"nsIScriptObjectPrincipal.h",
"nsJSEnvironment.h",
"nsJSUtils.h",
"nsLineBreaker.h",
"nsNameSpaceManager.h",
"nsNodeInfoManager.h",
"nsPIDOMWindow.h",
"nsPIDOMWindowInlines.h",
"nsPIWindowRoot.h",
"nsPropertyTable.h",
"nsRange.h",
"nsSandboxFlags.h",
"nsStructuredCloneContainer.h",
"nsStubAnimationObserver.h",
"nsStubDocumentObserver.h",
"nsStubMutationObserver.h",
"nsStyledElement.h",
"nsTextFragment.h",
"nsTextNode.h",
"nsTraversal.h",
"nsTreeSanitizer.h",
"nsViewportInfo.h",
"nsWindowMemoryReporter.h",
"nsWindowSizes.h",
"nsWrapperCache.h",
"nsWrapperCacheInlines.h",
"XPathGenerator.h",
]
if CONFIG["MOZ_WEBRTC"]:
EXPORTS += [
"nsDOMDataChannel.h",
"nsDOMDataChannelDeclarations.h",
]
EXPORTS.mozilla += [
"CallState.h",
"ContentIterator.h",
"CORSMode.h",
"FlushType.h",
"FullscreenChange.h",
"IdentifierMapEntry.h",
"PointerLockManager.h",
"RangeBoundary.h",
"RangeUtils.h",
"ScriptableContentIterator.h",
"ScrollingMetrics.h",
"SelectionChangeEventDispatcher.h",
"TextInputProcessor.h",
"UseCounter.h",
]
EXPORTS.mozilla.dom += [
"!UseCounterList.h",
"!UseCounterWorkerList.h",
"AbstractRange.h",
"AncestorIterator.h",
"AnchorAreaFormRelValues.h",
"AnimationFrameProvider.h",
"AnonymousContent.h",
"Attr.h",
"AutoPrintEventDispatcher.h",
"AutoSuppressEventHandlingAndSuspend.h",
"BarProps.h",
"BindContext.h",
"BodyConsumer.h",
"BodyUtil.h",
"BorrowedAttrInfo.h",
"CCGCScheduler.h",
"CharacterData.h",
"ChildIterator.h",
"ChildProcessMessageManager.h",
"ChromeMessageBroadcaster.h",
"ChromeMessageSender.h",
"ChromeNodeList.h",
"ChromeUtils.h",
"Comment.h",
"CompressionStream.h",
"ContentFrameMessageManager.h",
"ContentProcessMessageManager.h",
"CustomElementRegistry.h",
"DecompressionStream.h",
"DirectionalityUtils.h",
"DocGroup.h",
"Document.h",
"DocumentFragment.h",
"DocumentInlines.h",
"DocumentOrShadowRoot.h",
"DocumentType.h",
"DOMArena.h",
"DOMException.h",
"DOMImplementation.h",
"DOMIntersectionObserver.h",
"DOMMatrix.h",
"DOMMozPromiseRequestHolder.h",
"DOMParser.h",
"DOMPoint.h",
"DOMQuad.h",
"DOMRect.h",
"DOMRequest.h",
"DOMStringList.h",
"DOMTokenListSupportedTokens.h",
"Element.h",
"ElementInlines.h",
"EventSource.h",
"EventSourceEventService.h",
"External.h",
"FilteredNodeIterator.h",
"FormData.h",
"FragmentOrElement.h",
"FromParser.h",
"GeneratedImageContent.h",
"Highlight.h",
"HighlightRegistry.h",
"IdleDeadline.h",
"IdleRequest.h",
"IDTracker.h",
"ImageEncoder.h",
"ImageTracker.h",
"IntlUtils.h",
"JSExecutionContext.h",
"Link.h",
"LinkStyle.h",
"Location.h",
"LocationBase.h",
"MaybeCrossOriginObject.h",
"MessageBroadcaster.h",
"MessageListenerManager.h",
"MessageManagerCallback.h",
"MessageManagerGlobal.h",
"MessageSender.h",
"MimeType.h",
"MozQueryInterface.h",
"MutationObservers.h",
"NameSpaceConstants.h",
"Navigator.h",
"NodeInfo.h",
"NodeInfoInlines.h",
"NodeIterator.h",
"ParentProcessMessageManager.h",
"PlacesBookmark.h",
"PlacesBookmarkAddition.h",
"PlacesBookmarkChanged.h",
"PlacesBookmarkGuid.h",
"PlacesBookmarkKeyword.h",
"PlacesBookmarkMoved.h",
"PlacesBookmarkRemoved.h",
"PlacesBookmarkTags.h",
"PlacesBookmarkTime.h",
"PlacesBookmarkTitle.h",
"PlacesBookmarkUrl.h",
"PlacesEvent.h",
"PlacesFavicon.h",
"PlacesHistoryCleared.h",
"PlacesObservers.h",
"PlacesPurgeCaches.h",
"PlacesRanking.h",
"PlacesVisit.h",
"PlacesVisitRemoved.h",
"PlacesVisitTitle.h",
"PlacesWeakCallbackWrapper.h",
"PopoverData.h",
"PopupBlocker.h",
"Pose.h",
"PostMessageEvent.h",
"ProcessMessageManager.h",
"RadioGroupContainer.h",
"ResizeObserver.h",
"ResponsiveImageSelector.h",
"SameProcessMessageQueue.h",
"ScreenLuminance.h",
"ScreenOrientation.h",
"Selection.h",
"SerializedStackHolder.h",
"ShadowIncludingTreeIterator.h",
"ShadowRoot.h",
"StaticRange.h",
"StructuredCloneBlob.h",
"StructuredCloneHolder.h",
"StructuredCloneTags.h",
"StructuredCloneTester.h",
"StyledRange.h",
"StyleSheetList.h",
"SubtleCrypto.h",
"SyncMessageSender.h",
"TestUtils.h",
"Text.h",
"Timeout.h",
"TimeoutHandler.h",
"TimeoutManager.h",
"TreeIterator.h",
"TreeOrderedArray.h",
"TreeOrderedArrayInlines.h",
"TreeWalker.h",
"UIDirectionManager.h",
"UserActivation.h",
"ViewportMetaData.h",
"VisualViewport.h",
"WindowFeatures.h",
"WindowProxyHolder.h",
]
if CONFIG["FUZZING"]:
EXPORTS.mozilla.dom += [
"FuzzingFunctions.h",
]
if CONFIG["COMPILE_ENVIRONMENT"]:
EXPORTS.mozilla.dom += [
"!GeneratedElementDocumentState.h",
"RustTypes.h",
]
CbindgenHeader(
"GeneratedElementDocumentState.h",
inputs=["rust"],
)
UNIFIED_SOURCES += [
"AbstractRange.cpp",
"AnchorAreaFormRelValues.cpp",
"AnimationFrameProvider.cpp",
"AnonymousContent.cpp",
"Attr.cpp",
"AttrArray.cpp",
"BarProps.cpp",
"BindContext.cpp",
"BodyConsumer.cpp",
"BodyUtil.cpp",
"BorrowedAttrInfo.cpp",
"CCGCScheduler.cpp",
"CharacterData.cpp",
"ChildIterator.cpp",
"ChromeMessageBroadcaster.cpp",
"ChromeMessageSender.cpp",
"ChromeNodeList.cpp",
"ChromeUtils.cpp",
"Comment.cpp",
"ContentFrameMessageManager.cpp",
"ContentIterator.cpp",
"ContentProcessMessageManager.cpp",
"Crypto.cpp",
"CustomElementRegistry.cpp",
"DirectionalityUtils.cpp",
"DocGroup.cpp",
"Document.cpp",
"DocumentFragment.cpp",
"DocumentOrShadowRoot.cpp",
"DocumentType.cpp",
"DOMException.cpp",
"DOMImplementation.cpp",
"DOMMatrix.cpp",
"DOMParser.cpp",
"DOMPoint.cpp",
"DOMQuad.cpp",
"DOMRect.cpp",
"DOMRequest.cpp",
"DOMStringList.cpp",
"Element.cpp",
"EventSource.cpp",
"EventSourceEventService.cpp",
"External.cpp",
"FormData.cpp",
"FragmentOrElement.cpp",
"GeneratedImageContent.cpp",
"Highlight.cpp",
"HighlightRegistry.cpp",
"IdleDeadline.cpp",
"IdleRequest.cpp",
"IDTracker.cpp",
"ImageEncoder.cpp",
"ImageTracker.cpp",
"InProcessBrowserChildMessageManager.cpp",
"IntlUtils.cpp",
"JSExecutionContext.cpp",
"Link.cpp",
"LinkStyle.cpp",
"Location.cpp",
"LocationBase.cpp",
"MaybeCrossOriginObject.cpp",
"MessageBroadcaster.cpp",
"MessageListenerManager.cpp",
"MessageManagerGlobal.cpp",
"MessageSender.cpp",
"MimeType.cpp",
"MozQueryInterface.cpp",
"MutationObservers.cpp",
"Navigator.cpp",
"NodeInfo.cpp",
"NodeIterator.cpp",
"NodeUbiReporting.cpp",
"nsAttrValue.cpp",
"nsAttrValueOrString.cpp",
"nsCCUncollectableMarker.cpp",
"nsContentAreaDragDrop.cpp",
"nsContentList.cpp",
"nsContentPermissionHelper.cpp",
"nsContentPolicy.cpp",
"nsContentSink.cpp",
"nsContentTypeParser.cpp",
"nsCopySupport.cpp",
"nsDataDocumentContentPolicy.cpp",
"nsDOMAttributeMap.cpp",
"nsDOMCaretPosition.cpp",
"nsDOMMutationObserver.cpp",
"nsDOMNavigationTiming.cpp",
"nsDOMTokenList.cpp",
"nsFocusManager.cpp",
"nsFrameLoader.cpp",
"nsFrameLoaderOwner.cpp",
"nsGlobalWindowCommands.cpp",
"nsHistory.cpp",
"nsIGlobalObject.cpp",
"nsINode.cpp",
"nsJSEnvironment.cpp",
"nsJSUtils.cpp",
"nsLineBreaker.cpp",
"nsMimeTypeArray.cpp",
"nsNameSpaceManager.cpp",
"nsNoDataProtocolContentPolicy.cpp",
"nsNodeInfoManager.cpp",
"nsOpenURIInFrameParams.cpp",
"nsPropertyTable.cpp",
"nsQueryContentEventResult.cpp",
"nsRange.cpp",
"nsScreen.cpp",
"nsStructuredCloneContainer.cpp",
"nsStubAnimationObserver.cpp",
"nsStubDocumentObserver.cpp",
"nsStubMutationObserver.cpp",
"nsStyledElement.cpp",
"nsSyncLoadService.cpp",
"nsTextFragment.cpp",
"nsTextNode.cpp",
"nsTraversal.cpp",
"nsTreeSanitizer.cpp",
"nsViewportInfo.cpp",
"nsWindowMemoryReporter.cpp",
"nsWindowRoot.cpp",
"nsWrapperCache.cpp",
"ParentProcessMessageManager.cpp",
"PointerLockManager.cpp",
"PopoverData.cpp",
"PopupBlocker.cpp",
"Pose.cpp",
"PostMessageEvent.cpp",
"ProcessMessageManager.cpp",
"RadioGroupContainer.cpp",
"RangeUtils.cpp",
"RemoteOuterWindowProxy.cpp",
"ResizeObserver.cpp",
"ResponsiveImageSelector.cpp",
"SameProcessMessageQueue.cpp",
"ScreenLuminance.cpp",
"ScreenOrientation.cpp",
"ScriptableContentIterator.cpp",
"ScrollingMetrics.cpp",
"Selection.cpp",
"SelectionChangeEventDispatcher.cpp",
"SerializedStackHolder.cpp",
"ShadowRoot.cpp",
"StaticRange.cpp",
"StorageAccessPermissionRequest.cpp",
"StructuredCloneBlob.cpp",
"StructuredCloneHolder.cpp",
"StructuredCloneTester.cpp",
"StyledRange.cpp",
"StyleSheetList.cpp",
"SubtleCrypto.cpp",
"TestUtils.cpp",
"Text.cpp",
"TextInputProcessor.cpp",
"ThirdPartyUtil.cpp",
"Timeout.cpp",
"TimeoutBudgetManager.cpp",
"TimeoutExecutor.cpp",
"TimeoutHandler.cpp",
"TimeoutManager.cpp",
"TreeWalker.cpp",
"UIDirectionManager.cpp",
"UserActivation.cpp",
"ViewportMetaData.cpp",
"VisualViewport.cpp",
"WindowDestroyedEvent.cpp",
"WindowFeatures.cpp",
"WindowNamedPropertiesHandler.cpp",
"XPathGenerator.cpp",
]
if CONFIG["MOZ_WEBRTC"]:
UNIFIED_SOURCES += [
"nsDOMDataChannel.cpp",
]
if CONFIG["FUZZING"]:
UNIFIED_SOURCES += [
"FuzzingFunctions.cpp",
]
if CONFIG["MOZ_PLACES"]:
UNIFIED_SOURCES += [
"PlacesEvent.cpp",
"PlacesObservers.cpp",
"PlacesWeakCallbackWrapper.cpp",
]
# on win32 if we add these files to UNIFIED_SOURCES then the compiler generates
# larger stack frames for some recursive functions that cause us to hit stack
# overflows (see bug 1824565)
if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["CPU_ARCH"] == "x86":
SOURCES += [
"CompressionStream.cpp",
"DecompressionStream.cpp",
]
else:
UNIFIED_SOURCES += [
"CompressionStream.cpp",
"DecompressionStream.cpp",
]
# these files couldn't be in UNIFIED_SOURCES for now for reasons given below:
SOURCES += [
# Several conflicts with other bindings.
"DOMIntersectionObserver.cpp",
# Because of OS X headers.
"nsContentUtils.cpp",
# this file doesn't like windows.h
"nsDOMWindowUtils.cpp",
# Conflicts with windows.h's definition of SendMessage.
"nsFrameMessageManager.cpp",
# These files have a #error "Never include unwrapped windows.h in this file!"
"nsGlobalWindowInner.cpp",
"nsGlobalWindowOuter.cpp",
# Conflicts with windows.h's definition of LoadImage.
"nsImageLoadingContent.cpp",
# Because of OS X headers.
"nsObjectLoadingContent.cpp",
# nsPluginArray.cpp includes npapi.h indirectly, and that includes a lot of system headers
"nsPluginArray.cpp",
]
# Are we targeting x86-32 or x86-64? If so, we want to include SSE2 code for
# nsTextFragment.cpp
if CONFIG["INTEL_ARCHITECTURE"]:
SOURCES += ["nsTextFragmentSSE2.cpp"]
SOURCES["nsTextFragmentSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
# Are we targeting PowerPC? If so, we can enable a SIMD version for
# nsTextFragment.cpp as well.
if CONFIG["CPU_ARCH"].startswith("ppc"):
SOURCES += ["nsTextFragmentVMX.cpp"]
SOURCES["nsTextFragmentVMX.cpp"].flags += CONFIG["PPC_VMX_FLAGS"]
EXTRA_JS_MODULES += [
"ContentAreaDropListener.sys.mjs",
"DOMRequestHelper.sys.mjs",
"IndexedDBHelper.sys.mjs",
"LocationHelper.sys.mjs",
"ProcessSelector.sys.mjs",
"SlowScriptDebug.sys.mjs",
]
XPCOM_MANIFESTS += [
"components.conf",
]
LOCAL_INCLUDES += [
"../battery",
"../events",
"../media",
"../network",
"/caps",
"/docshell/base",
"/dom/base",
"/dom/file",
"/dom/geolocation",
"/dom/html",
"/dom/ipc",
"/dom/storage",
"/dom/svg",
"/dom/xml",
"/dom/xslt/xpath",
"/dom/xul",
"/extensions/spellcheck/src",
"/gfx/2d",
"/image",
"/js/xpconnect/loader",
"/js/xpconnect/src",
"/js/xpconnect/wrappers",
"/layout/base",
"/layout/forms",
"/layout/generic",
"/layout/style",
"/layout/xul",
"/netwerk/base",
"/netwerk/protocol/http",
"/netwerk/url-classifier",
"/parser/htmlparser",
"/security/manager/ssl",
"/third_party/xsimd/include",
"/widget",
"/xpcom/ds",
]
if CONFIG["MOZ_WEBRTC"]:
LOCAL_INCLUDES += [
"/netwerk/sctp/datachannel",
]
include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
GeneratedFile(
"UseCounterList.h",
script="gen-usecounters.py",
entry_point="use_counter_list",
inputs=["UseCounters.conf"],
)
GeneratedFile(
"UseCounterWorkerList.h",
script="gen-usecounters.py",
entry_point="use_counter_list",
inputs=["UseCountersWorker.conf"],
)