зеркало из https://github.com/mozilla/gecko-dev.git
559 строки
14 KiB
Python
559 строки
14 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']
|
|
|
|
XPIDL_SOURCES += [
|
|
'mozIDOMWindow.idl',
|
|
'nsIContentPolicy.idl',
|
|
'nsIDocumentEncoder.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',
|
|
'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',
|
|
'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',
|
|
'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',
|
|
'EventSourceEventService.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',
|
|
'LinkStyle.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',
|
|
'WindowFeatures.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',
|
|
'BindContext.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',
|
|
'EventSourceEventService.cpp',
|
|
'FormData.cpp',
|
|
'FragmentOrElement.cpp',
|
|
'GeneratedImageContent.cpp',
|
|
'IdleDeadline.cpp',
|
|
'IdleRequest.cpp',
|
|
'IDTracker.cpp',
|
|
'ImageEncoder.cpp',
|
|
'ImageTracker.cpp',
|
|
'InProcessBrowserChildMessageManager.cpp',
|
|
'IntlUtils.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',
|
|
'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',
|
|
'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',
|
|
'WindowFeatures.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',
|
|
'LocationHelper.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',
|
|
'/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/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']
|