# -*- 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/.

MOCHITEST_MANIFESTS += [
    'test/forms/mochitest.ini',
    'test/imports/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',
    'nsIHTMLMenu.idl',
    'nsIImageDocument.idl',
    'nsIMenuBuilder.idl',
    'nsIPhonetic.idl',
]

XPIDL_MODULE = 'content_html'

EXPORTS += [
    'nsGenericHTMLElement.h',
    'nsHTMLDNSPrefetch.h',
    'nsIConstraintValidation.h',
    'nsIForm.h',
    'nsIFormControl.h',
    'nsIFormProcessor.h',
    'nsIHTMLCollection.h',
    'nsIHTMLDocument.h',
    'nsIRadioGroupContainer.h',
    'nsIRadioVisitor.h',
    'nsITextControlElement.h',
    'nsTextEditorState.h',
]

EXPORTS.mozilla.dom += [
    'HTMLAllCollection.h',
    'HTMLAnchorElement.h',
    'HTMLAreaElement.h',
    'HTMLAudioElement.h',
    'HTMLBodyElement.h',
    'HTMLBRElement.h',
    'HTMLButtonElement.h',
    'HTMLCanvasElement.h',
    'HTMLContentElement.h',
    'HTMLDataElement.h',
    'HTMLDataListElement.h',
    'HTMLDetailsElement.h',
    'HTMLDivElement.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',
    'HTMLShadowElement.h',
    'HTMLSharedElement.h',
    'HTMLSharedListElement.h',
    'HTMLSharedObjectElement.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',
    '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',
    'HTMLContentElement.cpp',
    'HTMLDataElement.cpp',
    'HTMLDataListElement.cpp',
    'HTMLDetailsElement.cpp',
    'HTMLDivElement.cpp',
    'HTMLElement.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',
    'HTMLShadowElement.cpp',
    'HTMLSharedElement.cpp',
    'HTMLSharedListElement.cpp',
    'HTMLSharedObjectElement.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',
    'RadioNodeList.cpp',
    'TextTrackManager.cpp',
    'TimeRanges.cpp',
    'ValidityState.cpp',
    'VideoDocument.cpp',
]

SOURCES += [
    # 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/media/',
    '/dom/xbl',
    '/dom/xul',
    '/editor/txmgr',
    '/image',
    '/layout/forms',
    '/layout/generic',
    '/layout/style',
    '/layout/tables',
    '/layout/xul',
    '/netwerk/base',
]

FINAL_LIBRARY = 'xul'

if CONFIG['GNU_CXX']:
    CXXFLAGS += ['-Wno-error=shadow']