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

if CONFIG['MOZ_PHOENIX']:
    DEFINES['MOZ_BUILD_APP_IS_BROWSER'] = True

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

TESTING_JS_MODULES += [
    # Make this file available from the "resource:" URI of the test environment.
    'test/browser/form_basic.html',
    'test/LoginTestUtils.jsm',
]

XPIDL_SOURCES += [
    'nsILoginInfo.idl',
    'nsILoginManager.idl',
    'nsILoginManagerCrypto.idl',
    'nsILoginManagerPrompter.idl',
    'nsILoginManagerStorage.idl',
    'nsILoginMetaInfo.idl',
]

XPIDL_MODULE = 'loginmgr'

EXTRA_COMPONENTS += [
    'crypto-SDR.js',
    'nsLoginInfo.js',
    'nsLoginManager.js',
    'nsLoginManagerPrompter.js',
]

EXTRA_PP_COMPONENTS += [
    'passwordmgr.manifest',
]

EXTRA_JS_MODULES += [
    'InsecurePasswordUtils.jsm',
    'LoginHelper.jsm',
    'LoginManagerContent.jsm',
    'LoginManagerParent.jsm',
    'LoginRecipes.jsm',
    'OSCrypto.jsm',
]

if CONFIG['OS_TARGET'] == 'Android':
    EXTRA_COMPONENTS += [
        'storage-mozStorage.js',
    ]
else:
    EXTRA_COMPONENTS += [
        'storage-json.js',
    ]
    EXTRA_JS_MODULES += [
        'LoginImport.jsm',
        'LoginStore.jsm',
    ]

if CONFIG['OS_TARGET'] == 'WINNT':
    EXTRA_JS_MODULES += [
        'OSCrypto_win.js',
    ]

if CONFIG['MOZ_PHOENIX']:
    EXTRA_JS_MODULES += [
        'LoginManagerContextMenu.jsm',
    ]

JAR_MANIFESTS += ['jar.mn']

with Files('**'):
    BUG_COMPONENT = ('Toolkit', 'Password Manager')