# -*- 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/uikit/nsWidgetFactory.h',

InitFunc = 'nsWidgetUIKitModuleCtor'
UnloadFunc = 'nsWidgetUIKitModuleDtor'

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/uikit/GfxInfo.h'],
        'init_method': 'Init',
    },
    {
        'cid': '{2d96b3df-c051-11d1-a827-0040959a28c9}',
        'contract_ids': ['@mozilla.org/widget/appshell/uikit;1'],
        'legacy_constructor': 'nsAppShellConstructor',
        'headers': ['/widget/uikit/nsWidgetFactory.h'],
        'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS,
    },
    {
        'cid': '{8b5314bc-db01-11d2-96ce-0060b0fb9956}',
        'contract_ids': ['@mozilla.org/widget/transferable;1'],
        'type': 'nsTransferable',
        'headers': ['/widget/nsTransferable.h'],
    },
    {
        'cid': '{948a0023-e3a7-11d2-96cf-0060b0fb9956}',
        'contract_ids': ['@mozilla.org/widget/htmlformatconverter;1'],
        'type': 'nsHTMLFormatConverter',
        'headers': ['/widget/nsHTMLFormatConverter.h'],
    },
    {
        'cid': '{77221d5a-1dd2-11b2-8c69-c710f15d2ed5}',
        'contract_ids': ['@mozilla.org/widget/clipboardhelper;1'],
        'type': 'nsClipboardHelper',
        'headers': ['/widget/nsClipboardHelper.h'],
    },
    {
        'cid': '{f0ddedd7-e8d5-4f95-a5b4-0f48f1741b36}',
        'contract_ids': ['@mozilla.org/gfx/parent/screenmanager;1'],
        'type': 'mozilla::widget::ScreenManager',
        'headers': ['mozilla/widget/ScreenManager.h'],
        'constructor': 'mozilla::widget::ScreenManager::GetAddRefedSingleton',
        'processes': ProcessSelector.MAIN_PROCESS_ONLY,
        'singleton': True,
    },
]
