# -*- 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 = ('Toolkit', 'WebExtensions: General')

EXTRA_JS_MODULES += [
    'Extension.jsm',
    'ExtensionChild.jsm',
    'ExtensionChildDevToolsUtils.jsm',
    'ExtensionCommon.jsm',
    'ExtensionContent.jsm',
    'ExtensionPageChild.jsm',
    'ExtensionParent.jsm',
    'ExtensionPermissions.jsm',
    'ExtensionPreferencesManager.jsm',
    'ExtensionSettingsStore.jsm',
    'ExtensionStorage.jsm',
    'ExtensionStorageSync.jsm',
    'ExtensionUtils.jsm',
    'FindContent.jsm',
    'LegacyExtensionsUtils.jsm',
    'MessageChannel.jsm',
    'NativeManifests.jsm',
    'NativeMessaging.jsm',
    'ProxyScriptContext.jsm',
    'Schemas.jsm',
]

EXTRA_COMPONENTS += [
    'extension-process-script.js',
    'extensions-toolkit.manifest',
]

TESTING_JS_MODULES += [
    'ExtensionTestCommon.jsm',
    'ExtensionXPCShellUtils.jsm',
]

DIRS += [
    'schemas',
    'webrequest',
]

XPIDL_SOURCES += [
    'mozIExtensionProcessScript.idl',
]

XPIDL_MODULE = 'webextensions'

EXPORTS.mozilla = [
    'ExtensionPolicyService.h',
]

EXPORTS.mozilla.extensions = [
    'MatchGlob.h',
    'MatchPattern.h',
    'WebExtensionContentScript.h',
    'WebExtensionPolicy.h',
]

UNIFIED_SOURCES += [
    'ExtensionPolicyService.cpp',
    'MatchPattern.cpp',
    'WebExtensionPolicy.cpp',
]

FINAL_LIBRARY = 'xul'


JAR_MANIFESTS += ['jar.mn']

BROWSER_CHROME_MANIFESTS += [
    'test/browser/browser.ini',
]

MOCHITEST_MANIFESTS += [
    'test/mochitest/mochitest-remote.ini',
    'test/mochitest/mochitest.ini'
]
MOCHITEST_CHROME_MANIFESTS += ['test/mochitest/chrome.ini']
XPCSHELL_TESTS_MANIFESTS += [
    'test/xpcshell/native_messaging.ini',
    'test/xpcshell/xpcshell-e10s.ini',
    'test/xpcshell/xpcshell-remote.ini',
    'test/xpcshell/xpcshell.ini',
]

SPHINX_TREES['webextensions'] = 'docs'

with Files('docs/**'):
    SCHEDULES.exclusive = ['docs']

include('/ipc/chromium/chromium-config.mozbuild')
