gecko-dev/dom/html/moz.build
Chris Pearce bbbdebe6e1 Bug 1463919 - Add AutoplayRequest to encapsulate asking for autoplay permission. r=smaug
Add an implementation of nsIContentPermissionRequest to encapsulate requesting
permission from the user to autoplay audible media.

All documents in the tab request permission using the top level document's
origin, so the AutoplayRequest instance for a tab is stored on the top level
content window of the tab.

AutoplayRequest ensures that there's only a single prompt shown at once.

MozReview-Commit-ID: 2u3aLnEa21z

--HG--
extra : rebase_source : a3db3a1ef87a09442b47ae1b1034b4a0143289fb
extra : source : ae572bf618155a92b136fc5f12c1f8c9ab31f89c
2018-06-22 11:57:24 +12:00

264 lines
6.4 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("**"):
BUG_COMPONENT = ("Core", "DOM")
DIRS += ['input']
MOCHITEST_MANIFESTS += [
'test/forms/mochitest.ini',
'test/mochitest.ini',
]
MOCHITEST_CHROME_MANIFESTS += [
'test/chrome.ini',
'test/forms/chrome.ini',
]
BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
XPIDL_SOURCES += [
'nsIDateTimeInputArea.idl',
'nsIFormSubmitObserver.idl',
'nsIImageDocument.idl',
'nsIMenuBuilder.idl',
]
XPIDL_MODULE = 'content_html'
EXPORTS += [
'nsGenericHTMLElement.h',
'nsGenericHTMLFrameElement.h',
'nsHTMLDNSPrefetch.h',
'nsHTMLDocument.h',
'nsIConstraintValidation.h',
'nsIForm.h',
'nsIFormControl.h',
'nsIFormProcessor.h',
'nsIHTMLCollection.h',
'nsIHTMLDocument.h',
'nsIRadioGroupContainer.h',
'nsIRadioVisitor.h',
'nsITextControlElement.h',
'nsTextEditorState.h',
]
EXPORTS.mozilla += [
'TextInputListener.h',
]
EXPORTS.mozilla.dom += [
'AutoplayRequest.h',
'HTMLAllCollection.h',
'HTMLAnchorElement.h',
'HTMLAreaElement.h',
'HTMLAudioElement.h',
'HTMLBodyElement.h',
'HTMLBRElement.h',
'HTMLButtonElement.h',
'HTMLCanvasElement.h',
'HTMLDataElement.h',
'HTMLDataListElement.h',
'HTMLDetailsElement.h',
'HTMLDialogElement.h',
'HTMLDivElement.h',
'HTMLEmbedElement.h',
'HTMLFieldSetElement.h',
'HTMLFontElement.h',
'HTMLFormControlsCollection.h',
'HTMLFormElement.h',
'HTMLFormSubmission.h',
'HTMLFrameElement.h',
'HTMLFrameSetElement.h',
'HTMLHeadingElement.h',
'HTMLHRElement.h',
'HTMLIFrameElement.h',
'HTMLImageElement.h',
'HTMLInputElement.h',
'HTMLLabelElement.h',
'HTMLLegendElement.h',
'HTMLLIElement.h',
'HTMLLinkElement.h',
'HTMLMapElement.h',
'HTMLMediaElement.h',
'HTMLMenuElement.h',
'HTMLMenuItemElement.h',
'HTMLMetaElement.h',
'HTMLMeterElement.h',
'HTMLModElement.h',
'HTMLObjectElement.h',
'HTMLOptGroupElement.h',
'HTMLOptionElement.h',
'HTMLOptionsCollection.h',
'HTMLOutputElement.h',
'HTMLParagraphElement.h',
'HTMLPictureElement.h',
'HTMLPreElement.h',
'HTMLProgressElement.h',
'HTMLScriptElement.h',
'HTMLSelectElement.h',
'HTMLSharedElement.h',
'HTMLSharedListElement.h',
'HTMLSlotElement.h',
'HTMLSourceElement.h',
'HTMLSpanElement.h',
'HTMLStyleElement.h',
'HTMLSummaryElement.h',
'HTMLTableCaptionElement.h',
'HTMLTableCellElement.h',
'HTMLTableColElement.h',
'HTMLTableElement.h',
'HTMLTableRowElement.h',
'HTMLTableSectionElement.h',
'HTMLTemplateElement.h',
'HTMLTextAreaElement.h',
'HTMLTimeElement.h',
'HTMLTitleElement.h',
'HTMLTrackElement.h',
'HTMLUnknownElement.h',
'HTMLVideoElement.h',
'ImageDocument.h',
'MediaError.h',
'nsBrowserElement.h',
'PlayPromise.h',
'RadioNodeList.h',
'TextTrackManager.h',
'TimeRanges.h',
'ValidityState.h',
]
UNIFIED_SOURCES += [
'HTMLAllCollection.cpp',
'HTMLAnchorElement.cpp',
'HTMLAreaElement.cpp',
'HTMLAudioElement.cpp',
'HTMLBodyElement.cpp',
'HTMLBRElement.cpp',
'HTMLButtonElement.cpp',
'HTMLCanvasElement.cpp',
'HTMLDataElement.cpp',
'HTMLDataListElement.cpp',
'HTMLDetailsElement.cpp',
'HTMLDialogElement.cpp',
'HTMLDivElement.cpp',
'HTMLElement.cpp',
'HTMLEmbedElement.cpp',
'HTMLFieldSetElement.cpp',
'HTMLFontElement.cpp',
'HTMLFormControlsCollection.cpp',
'HTMLFormElement.cpp',
'HTMLFormSubmission.cpp',
'HTMLFrameElement.cpp',
'HTMLFrameSetElement.cpp',
'HTMLHeadingElement.cpp',
'HTMLHRElement.cpp',
'HTMLIFrameElement.cpp',
'HTMLImageElement.cpp',
'HTMLInputElement.cpp',
'HTMLLabelElement.cpp',
'HTMLLegendElement.cpp',
'HTMLLIElement.cpp',
'HTMLLinkElement.cpp',
'HTMLMapElement.cpp',
'HTMLMediaElement.cpp',
'HTMLMenuElement.cpp',
'HTMLMenuItemElement.cpp',
'HTMLMetaElement.cpp',
'HTMLMeterElement.cpp',
'HTMLModElement.cpp',
'HTMLObjectElement.cpp',
'HTMLOptGroupElement.cpp',
'HTMLOptionElement.cpp',
'HTMLOptionsCollection.cpp',
'HTMLOutputElement.cpp',
'HTMLParagraphElement.cpp',
'HTMLPictureElement.cpp',
'HTMLPreElement.cpp',
'HTMLProgressElement.cpp',
'HTMLScriptElement.cpp',
'HTMLSelectElement.cpp',
'HTMLSharedElement.cpp',
'HTMLSharedListElement.cpp',
'HTMLSlotElement.cpp',
'HTMLSourceElement.cpp',
'HTMLSpanElement.cpp',
'HTMLStyleElement.cpp',
'HTMLSummaryElement.cpp',
'HTMLTableCaptionElement.cpp',
'HTMLTableCellElement.cpp',
'HTMLTableColElement.cpp',
'HTMLTableElement.cpp',
'HTMLTableRowElement.cpp',
'HTMLTableSectionElement.cpp',
'HTMLTemplateElement.cpp',
'HTMLTextAreaElement.cpp',
'HTMLTimeElement.cpp',
'HTMLTitleElement.cpp',
'HTMLTrackElement.cpp',
'HTMLUnknownElement.cpp',
'HTMLVideoElement.cpp',
'ImageDocument.cpp',
'MediaDocument.cpp',
'MediaError.cpp',
'nsBrowserElement.cpp',
'nsDOMStringMap.cpp',
'nsGenericHTMLElement.cpp',
'nsGenericHTMLFrameElement.cpp',
'nsHTMLContentSink.cpp',
'nsHTMLDNSPrefetch.cpp',
'nsHTMLDocument.cpp',
'nsIConstraintValidation.cpp',
'nsRadioVisitor.cpp',
'nsTextEditorState.cpp',
'PlayPromise.cpp',
'RadioNodeList.cpp',
'TextTrackManager.cpp',
'TimeRanges.cpp',
'ValidityState.cpp',
'VideoDocument.cpp',
]
SOURCES += [
'AutoplayRequest.cpp',
# Includes npapi.h.
'PluginDocument.cpp',
]
EXTRA_COMPONENTS += [
'htmlMenuBuilder.js',
'htmlMenuBuilder.manifest'
]
include('/ipc/chromium/chromium-config.mozbuild')
LOCAL_INCLUDES += [
'/caps',
'/docshell/base',
'/dom/base',
'/dom/canvas',
'/dom/html/input',
'/dom/media',
'/dom/security',
'/dom/xbl',
'/dom/xul',
'/image',
'/layout/forms',
'/layout/generic',
'/layout/style',
'/layout/tables',
'/layout/xul',
'/netwerk/base',
]
FINAL_LIBRARY = 'xul'
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']