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

Headers = '/widget/cocoa/nsWidgetFactory.h',

InitFunc = 'nsWidgetCocoaModuleCtor'
UnloadFunc = 'nsWidgetCocoaModuleDtor'

Classes = [
    {
        'cid': '{49f428e8-baf9-4ba3-b1b0-7d2fd3abbcea}',
        'contract_ids': ['@mozilla.org/widget/parent/clipboard;1'],
        'interfaces': ['nsIClipboard'],
        'type': 'nsIClipboard',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'name': 'GfxInfo',
        'cid': '{d755a760-9f27-11df-0800-200c9a664242}',
        'contract_ids': ['@mozilla.org/gfx/info;1'],
        'type': 'mozilla::widget::GfxInfo',
        'headers': ['/widget/cocoa/GfxInfo.h'],
        'init_method': 'Init',
    },
    {
        'cid': '{e5170091-c16b-492d-bf00-f45d72470553}',
        'contract_ids': ['@mozilla.org/parent/filepicker;1'],
        'type': 'nsFilePicker',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{b90f5fdd-c23e-4ad6-a10e-1da8ffe07799}',
        'contract_ids': ['@mozilla.org/parent/colorpicker;1'],
        'type': 'nsColorPicker',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{2d96b3df-c051-11d1-a827-0040959a28c9}',
        'contract_ids': ['@mozilla.org/widget/appshell/mac;1'],
        'legacy_constructor': 'nsAppShellConstructor',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_UTILITY_AND_GMPLUGIN_PROCESS,
    },
    {
        'cid': '{b148eed2-236d-11d3-b35c-00a0cc3c1cde}',
        'contract_ids': ['@mozilla.org/sound;1'],
        'type': 'nsSound',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{8b5314bc-db01-11d2-96ce-0060b0fb9956}',
        'contract_ids': ['@mozilla.org/widget/transferable;1'],
        'type': 'nsTransferable',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{948a0023-e3a7-11d2-96cf-0060b0fb9956}',
        'contract_ids': ['@mozilla.org/widget/htmlformatconverter;1'],
        'type': 'nsHTMLFormatConverter',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{77221d5a-1dd2-11b2-8c69-c710f15d2ed5}',
        'contract_ids': ['@mozilla.org/widget/clipboardhelper;1'],
        'type': 'nsClipboardHelper',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{9a155bb2-2b67-45de-83e3-13a9dacf8336}',
        'contract_ids': ['@mozilla.org/widget/parent/dragservice;1'],
        'type': 'nsDragService',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{f0ddedd7-e8d5-4f95-a5b4-0f48f1741b36}',
        'contract_ids': ['@mozilla.org/gfx/parent/screenmanager;1'],
        'type': 'mozilla::widget::ScreenManager',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
        'singleton': True,
    },
    {
        'cid': '{d3f69889-e13a-4321-980c-a39332e21f34}',
        'contract_ids': ['@mozilla.org/gfx/devicecontextspec;1'],
        'type': 'nsDeviceContextSpecX',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{a6cf9129-15b3-11d2-932e-00805f8add32}',
        'contract_ids': ['@mozilla.org/gfx/printerlist;1'],
        'type': 'nsPrinterListCUPS',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{841387c8-72e6-484b-9296-bf6eea80d58a}',
        'contract_ids': ['@mozilla.org/gfx/printsettings-service;1'],
        'type': 'nsPrintSettingsServiceX',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{06beec76-a183-4d9f-85dd-085f26da565a}',
        'contract_ids': ['@mozilla.org/widget/printdialog-service;1'],
        'type': 'nsPrintDialogServiceX',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
    },
    {
        'cid': '{6987230e-0089-4e78-bc5f-1493ee7519fa}',
        'contract_ids': ['@mozilla.org/widget/useridleservice;1'],
        'type': 'nsUserIdleServiceX',
        'singleton': True,
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{84e11f80-ca55-11dd-ad8b-0800200c9a66}',
        'contract_ids': ['@mozilla.org/system-alerts-service;1'],
        'type': 'mozilla::OSXNotificationCenter',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{2451baed-8dc3-46d9-9e30-96e1baa03666}',
        'contract_ids': ['@mozilla.org/widget/macdocksupport;1'],
        'type': 'nsMacDockSupport',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{74ea4101-a5bb-49bc-9984-66da8b225a37}',
        'contract_ids': ['@mozilla.org/widget/macfinderprogress;1'],
        'type': 'nsMacFinderProgress',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{de59fe1a-46c8-490f-b04d-34545acb06c9}',
        'contract_ids': ['@mozilla.org/widget/macsharingservice;1'],
        'type': 'nsMacSharingService',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{29046c8f-cba6-4ffa-9141-1685e96c4ea0}',
        'contract_ids': ['@mozilla.org/widget/macuseractivityupdater;1'],
        'type': 'nsMacUserActivityUpdater',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{e9096367-ddd9-45e4-b762-49c0c18b7119}',
        'contract_ids': ['@mozilla.org/widget/mac-web-app-utils;1'],
        'type': 'nsMacWebAppUtils',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{1f39ae50-b6a0-4b37-90f4-60af614193d8}',
        'contract_ids': ['@mozilla.org/widget/standalonenativemenu;1'],
        'type': 'nsStandaloneNativeMenu',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{b6e1a890-b2b8-4883-a65f-9476f6185313}',
        'contract_ids': ['@mozilla.org/widget/systemstatusbar;1'],
        'type': 'nsSystemStatusBarCocoa',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{38f396e2-93c9-4a77-aaf7-2d50b9962186}',
        'contract_ids': ['@mozilla.org/widget/touchbarupdater;1'],
        'type': 'nsTouchBarUpdater',
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
]
