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

Classes = [
    {
        'cid': '{3e30d2a0-9934-11ea-bb37-0242ac130002}',
        'contract_ids': ['@mozilla.org/embedcomp/prompt-collection;1'],
        'esModule': 'resource://gre/modules/PromptCollection.sys.mjs',
        'constructor': 'PromptCollection',
    },
    {
        'js_name': 'prompt',
        'cid': '{076ac188-23c1-4390-aa08-7ef1f78ca5d9}',
        'contract_ids': [
            '@mozilla.org/prompter;1',
        ],
        'interfaces': ['nsIPromptService'],
        'esModule': 'resource://gre/modules/GeckoViewPrompt.sys.mjs',
        'constructor': 'PromptFactory',
    },
    {
        'cid': '{8e993c34-fdd6-432c-967e-f995d888777f}',
        'contract_ids': ['@mozilla.org/geckoview/startup;1'],
        'esModule': 'resource://gre/modules/GeckoViewStartup.sys.mjs',
        'constructor': 'GeckoViewStartup',
    },
    {
        'cid': '{42f3c238-e8e8-4015-9ca2-148723a8afcf}',
        'contract_ids': ['@mozilla.org/content-permission/prompt;1'],
        'esModule': 'resource://gre/modules/GeckoViewPermission.sys.mjs',
        'constructor': 'GeckoViewPermission',
    },
    {
        'cid': '{a54d84d7-98a4-4fec-b664-e42e512ae9cc}',
        'contract_ids': ['@mozilla.org/push/Service;1'],
        'esModule': 'resource://gre/modules/GeckoViewPush.sys.mjs',
        'constructor': 'PushService',
    },
    {
        'cid': '{fc4bec74-ddd0-4ea8-9a66-9a5081258e32}',
        'contract_ids': ['@mozilla.org/parent/colorpicker;1'],
        'esModule': 'resource://gre/modules/ColorPickerDelegate.sys.mjs',
        'constructor': 'ColorPickerDelegate',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{25fdbae6-f684-4bf0-b773-ff2b7a6273c8}',
        'contract_ids': ['@mozilla.org/parent/filepicker;1'],
        'esModule': 'resource://gre/modules/FilePickerDelegate.sys.mjs',
        'constructor': 'FilePickerDelegate',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{1201d357-8417-4926-a694-e6408fbedcf8}',
        'contract_ids': ['@mozilla.org/sharepicker;1'],
        'esModule': 'resource://gre/modules/ShareDelegate.sys.mjs',
        'constructor': 'ShareDelegate',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{3d765750-1c3d-11ea-aaef-0800200c9a66}',
        'contract_ids': ['@mozilla.org/login-manager/prompter;1'],
        'esModule': 'resource://gre/modules/LoginStorageDelegate.sys.mjs',
        'constructor': 'LoginStorageDelegate',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{ad643d9e-52e3-4385-a57c-b42deb2f5daf}',
        'contract_ids': ['@mozilla.org/toolkit/sessionstore-functions;1'],
        'esModule': 'resource://gre/modules/SessionStoreFunctions.sys.mjs',
        'constructor': 'SessionStoreFunctions',
    },
]

if defined('MOZ_GECKOVIEW_HISTORY'):
    Classes += [
        {
            'name': 'History',
            'cid': '{0937a705-91a6-417a-8292-b22eb10da86c}',
            'contract_ids': ['@mozilla.org/browser/history;1'],
            'singleton': True,
            'type': 'GeckoViewHistory',
            'headers': ['GeckoViewHistory.h'],
            'constructor': 'GeckoViewHistory::GetSingleton',
        },
    ]
