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

XPCSHELL_TESTS_MANIFESTS += ['tests/xpcshell/xpcshell.ini']
BROWSER_CHROME_MANIFESTS += ['tests/browser/browser.ini']
MOCHITEST_MANIFESTS += ['tests/mochitest/mochitest.ini']
MOCHITEST_CHROME_MANIFESTS += ['tests/chrome/chrome.ini']

TESTING_JS_MODULES += [
    'tests/MockDocument.jsm',
    'tests/PromiseTestUtils.jsm',
    'tests/xpcshell/TestIntegration.jsm',
]

SPHINX_TREES['toolkit_modules'] = 'docs'

EXTRA_JS_MODULES += [
    'addons/MatchPattern.jsm',
    'addons/WebNavigation.jsm',
    'addons/WebNavigationContent.js',
    'addons/WebNavigationFrames.jsm',
    'addons/WebRequest.jsm',
    'addons/WebRequestCommon.jsm',
    'addons/WebRequestContent.js',
    'addons/WebRequestUpload.jsm',
    'AsyncPrefs.jsm',
    'Battery.jsm',
    'BinarySearch.jsm',
    'BrowserUtils.jsm',
    'CanonicalJSON.jsm',
    'CertUtils.jsm',
    'CharsetMenu.jsm',
    'ClientID.jsm',
    'Color.jsm',
    'Console.jsm',
    'DateTimePickerHelper.jsm',
    'debug.js',
    'DeferredTask.jsm',
    'Deprecated.jsm',
    'FileUtils.jsm',
    'Finder.jsm',
    'FinderHighlighter.jsm',
    'FinderIterator.jsm',
    'FormLikeFactory.jsm',
    'Geometry.jsm',
    'GMPInstallManager.jsm',
    'GMPUtils.jsm',
    'Http.jsm',
    'InlineSpellChecker.jsm',
    'InlineSpellCheckerContent.jsm',
    'Integration.jsm',
    'JSONFile.jsm',
    'LoadContextInfo.jsm',
    'Locale.jsm',
    'Log.jsm',
    'Memory.jsm',
    'NLP.jsm',
    'ObjectUtils.jsm',
    'PageMenu.jsm',
    'PageMetadata.jsm',
    'PermissionsUtils.jsm',
    'PopupNotifications.jsm',
    'Preferences.jsm',
    'PrivateBrowsingUtils.jsm',
    'ProfileAge.jsm',
    'Promise-backend.js',
    'Promise.jsm',
    'PromiseMessage.jsm',
    'PromiseUtils.jsm',
    'PropertyListUtils.jsm',
    'RemoteController.jsm',
    'RemoteFinder.jsm',
    'RemotePageManager.jsm',
    'RemoteSecurityUI.jsm',
    'RemoteWebProgress.jsm',
    'ResetProfile.jsm',
    'ResponsivenessMonitor.jsm',
    'secondscreen/PresentationApp.jsm',
    'secondscreen/RokuApp.jsm',
    'secondscreen/SimpleServiceDiscovery.jsm',
    'SelectContentHelper.jsm',
    'SelectParentHelper.jsm',
    'ServiceRequest.jsm',
    'SessionRecorder.jsm',
    'sessionstore/FormData.jsm',
    'sessionstore/ScrollPosition.jsm',
    'sessionstore/XPathGenerator.jsm',
    'ShortcutUtils.jsm',
    'Sntp.jsm',
    'SpatialNavigation.jsm',
    'Sqlite.jsm',
    'Task.jsm',
    'Timer.jsm',
    'Troubleshoot.jsm',
    'UpdateUtils.jsm',
    'WebChannel.jsm',
    'WindowDraggingUtils.jsm',
    'ZipUtils.jsm',
]
EXTRA_JS_MODULES.third_party.jsesc += ['third_party/jsesc/jsesc.js']
EXTRA_JS_MODULES.sessionstore += ['sessionstore/Utils.jsm']

EXTRA_PP_JS_MODULES += ['NewTabUtils.jsm']

if not CONFIG['MOZ_WEBEXTENSIONS']:
  EXTRA_PP_JS_MODULES += ['UpdateChannel.jsm']

if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'cocoa'):
    DEFINES['CAN_DRAW_IN_TITLEBAR'] = 1

if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'gtk2', 'gtk3'):
    DEFINES['MENUBAR_CAN_AUTOHIDE'] = 1

if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'gtk2', 'gtk3', 'cocoa'):
    DEFINES['HAVE_SHELL_SERVICE'] = 1

EXTRA_PP_JS_MODULES += [
    'AppConstants.jsm',
    'Services.jsm',
]

if 'Android' != CONFIG['OS_TARGET']:
    EXTRA_JS_MODULES += [
        'LightweightThemeConsumer.jsm',
    ]

    DIRS += [
        'subprocess',
    ]
else:
    DEFINES['ANDROID'] = True


if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
    EXTRA_JS_MODULES += [
        'WindowsRegistry.jsm',
    ]

for var in ('ANDROID_PACKAGE_NAME',
            'MOZ_APP_NAME',
            'MOZ_APP_VERSION',
            'MOZ_APP_VERSION_DISPLAY',
            'MOZ_MACBUNDLE_NAME',
            'MOZ_WIDGET_TOOLKIT',
            'DLL_PREFIX',
            'DLL_SUFFIX',
            'DEBUG_JS_MODULES'):
            DEFINES[var] = CONFIG[var]

for var in ('MOZ_TOOLKIT_SEARCH',
            'MOZ_SYSTEM_NSS',
            'MOZ_UPDATER',
            'MOZ_SWITCHBOARD',
            'MOZ_SERVICES_CLOUDSYNC'):
    if CONFIG[var]:
        DEFINES[var] = True

DEFINES['TOPOBJDIR'] = TOPOBJDIR