# -*- 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'] XPIDL_SOURCES += [ 'mozIDOMWindow.idl', 'nsIContentPolicy.idl', 'nsIDocumentEncoder.idl', 'nsIDOMRequestService.idl', 'nsIDroppedLinkHandler.idl', 'nsIImageLoadingContent.idl', 'nsIMessageManager.idl', 'nsIObjectLoadingContent.idl', 'nsIRemoteWindowContext.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', 'nsDOMNavigationTiming.h', 'nsDOMString.h', 'nsDOMTokenList.h', 'nsFocusManager.h', 'nsFrameLoader.h', # Because binding headers include it. 'nsFrameLoaderOwner.h', 'nsFrameMessageManager.h', 'nsGlobalWindow.h', # Because binding headers include it. 'nsGlobalWindowInner.h', # Because binding headers include it. 'nsGlobalWindowOuter.h', # Because binding headers include it. 'nsIAnimationObserver.h', 'nsIContent.h', 'nsIContentInlines.h', 'nsIContentSerializer.h', 'nsIDocumentObserver.h', 'nsIGlobalObject.h', 'nsImageLoadingContent.h', 'nsIMutationObserver.h', 'nsINode.h', 'nsINodeList.h', 'nsIScriptContext.h', 'nsIScriptGlobalObject.h', 'nsIScriptObjectPrincipal.h', 'nsIStyleSheetLinkingElement.h', 'nsJSEnvironment.h', 'nsJSUtils.h', 'nsLineBreaker.h', 'nsMappedAttributeElement.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', 'nsStyleLinkElement.h', 'nsTextFragment.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', 'RangeBoundary.h', 'RangeUtils.h', 'ScriptableContentIterator.h', 'SelectionChangeEventDispatcher.h', 'TextInputProcessor.h', 'UseCounter.h', ] EXPORTS.mozilla.dom += [ '!UseCounterList.h', '!UseCounterWorkerList.h', 'AbstractRange.h', 'AncestorIterator.h', 'AnonymousContent.h', 'Attr.h', 'BarProps.h', 'BindContext.h', 'BodyConsumer.h', 'BodyStream.h', 'BodyUtil.h', 'BorrowedAttrInfo.h', 'CharacterData.h', 'ChildIterator.h', 'ChildProcessMessageManager.h', 'ChromeMessageBroadcaster.h', 'ChromeMessageSender.h', 'ChromeNodeList.h', 'ChromeUtils.h', 'Comment.h', 'ContentFrameMessageManager.h', 'ContentProcessMessageManager.h', 'CustomElementRegistry.h', 'DirectionalityUtils.h', 'DispatcherTrait.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', 'FilteredNodeIterator.h', 'FormData.h', 'FragmentOrElement.h', 'FromParser.h', 'GeneratedImageContent.h', 'IdleDeadline.h', 'IdleRequest.h', 'IDTracker.h', 'ImageEncoder.h', 'ImageTracker.h', 'IntlUtils.h', 'Link.h', 'Location.h', 'LocationBase.h', 'MaybeCrossOriginObject.h', 'MessageBroadcaster.h', 'MessageListenerManager.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', 'PlacesBookmarkRemoved.h', 'PlacesEvent.h', 'PlacesObservers.h', 'PlacesVisit.h', 'PlacesWeakCallbackWrapper.h', 'PopupBlocker.h', 'Pose.h', 'PostMessageEvent.h', 'ProcessMessageManager.h', 'ResizeObserver.h', 'ResizeObserverController.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', 'Text.h', 'Timeout.h', 'TimeoutHandler.h', 'TimeoutManager.h', 'TreeIterator.h', 'TreeOrderedArray.h', 'TreeOrderedArrayInlines.h', 'TreeWalker.h', 'UIDirectionManager.h', 'UserActivation.h', 'ViewportMetaData.h', 'VisualViewport.h', 'WindowOrientationObserver.h', 'WindowProxyHolder.h', ] if CONFIG['FUZZING']: EXPORTS.mozilla.dom += [ 'FuzzingFunctions.h', ] UNIFIED_SOURCES += [ 'AbstractRange.cpp', 'AnonymousContent.cpp', 'Attr.cpp', 'AttrArray.cpp', 'BarProps.cpp', 'BodyConsumer.cpp', 'BodyStream.cpp', 'BodyUtil.cpp', 'BorrowedAttrInfo.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', 'DispatcherTrait.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', 'FormData.cpp', 'FragmentOrElement.cpp', 'GeneratedImageContent.cpp', 'IdleDeadline.cpp', 'IdleRequest.cpp', 'IDTracker.cpp', 'ImageEncoder.cpp', 'ImageTracker.cpp', 'InProcessBrowserChildMessageManager.cpp', 'IntlUtils.cpp', 'Link.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', 'nsDocumentEncoder.cpp', 'nsDOMAttributeMap.cpp', 'nsDOMCaretPosition.cpp', 'nsDOMMutationObserver.cpp', 'nsDOMNavigationTiming.cpp', 'nsDOMSerializer.cpp', 'nsDOMTokenList.cpp', 'nsFocusManager.cpp', 'nsFrameLoader.cpp', 'nsFrameLoaderOwner.cpp', 'nsGlobalWindowCommands.cpp', 'nsHistory.cpp', 'nsHTMLContentSerializer.cpp', 'nsIGlobalObject.cpp', 'nsINode.cpp', 'nsJSEnvironment.cpp', 'nsJSUtils.cpp', 'nsLineBreaker.cpp', 'nsMappedAttributeElement.cpp', 'nsMappedAttributes.cpp', 'nsMimeTypeArray.cpp', 'nsNameSpaceManager.cpp', 'nsNoDataProtocolContentPolicy.cpp', 'nsNodeInfoManager.cpp', 'nsOpenURIInFrameParams.cpp', 'nsPlainTextSerializer.cpp', 'nsPropertyTable.cpp', 'nsQueryContentEventResult.cpp', 'nsRange.cpp', 'nsScreen.cpp', 'nsStructuredCloneContainer.cpp', 'nsStubAnimationObserver.cpp', 'nsStubDocumentObserver.cpp', 'nsStubMutationObserver.cpp', 'nsStyledElement.cpp', 'nsStyleLinkElement.cpp', 'nsSyncLoadService.cpp', 'nsTextFragment.cpp', 'nsTextNode.cpp', 'nsTraversal.cpp', 'nsTreeSanitizer.cpp', 'nsViewportInfo.cpp', 'nsWindowMemoryReporter.cpp', 'nsWindowRoot.cpp', 'nsWrapperCache.cpp', 'nsXHTMLContentSerializer.cpp', 'nsXMLContentSerializer.cpp', 'ParentProcessMessageManager.cpp', 'PopupBlocker.cpp', 'Pose.cpp', 'PostMessageEvent.cpp', 'ProcessMessageManager.cpp', 'RangeUtils.cpp', 'RemoteOuterWindowProxy.cpp', 'ResizeObserver.cpp', 'ResizeObserverController.cpp', 'ResponsiveImageSelector.cpp', 'SameProcessMessageQueue.cpp', 'ScreenLuminance.cpp', 'ScreenOrientation.cpp', 'ScriptableContentIterator.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', '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', 'WindowNamedPropertiesHandler.cpp', 'WindowOrientationObserver.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', ] # 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.jsm', 'DOMRequestHelper.jsm', 'IndexedDBHelper.jsm', 'ProcessSelector.jsm', 'SlowScriptDebug.jsm', ] 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/u2f', '/dom/xml', '/dom/xslt/xpath', '/dom/xul', '/extensions/permissions', '/gfx/2d', '/image', '/js/xpconnect/loader', '/js/xpconnect/src', '/js/xpconnect/wrappers', '/layout/base', '/layout/forms', '/layout/generic', '/layout/style', '/layout/svg', '/layout/xul', '/netwerk/base', '/netwerk/url-classifier', '/security/manager/ssl', '/widget', '/xpcom/ds', ] if CONFIG['MOZ_WEBRTC']: LOCAL_INCLUDES += [ '/netwerk/sctp/datachannel', ] include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']: DEFINES['HAVE_SIDEBAR'] = True if CONFIG['MOZ_X11']: CXXFLAGS += CONFIG['TK_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']) if CONFIG['CC_TYPE'] in ('clang', 'gcc'): CXXFLAGS += ['-Wno-error=shadow']