1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2# vim: set filetype=python: 3# This Source Code Form is subject to the terms of the Mozilla Public 4# License, v. 2.0. If a copy of the MPL was not distributed with this 5# file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7Headers = [ 8 '/widget/gtk/nsWidgetFactory.h', 9] 10 11InitFunc = 'nsWidgetGtk2ModuleCtor' 12UnloadFunc = 'nsWidgetGtk2ModuleDtor' 13 14Classes = [ 15 { 16 'cid': '{2d96b3df-c051-11d1-a827-0040959a28c9}', 17 'contract_ids': ['@mozilla.org/widget/appshell/gtk;1'], 18 'legacy_constructor': 'nsAppShellConstructor', 19 'headers': ['/widget/gtk/nsWidgetFactory.h'], 20 'processes': ProcessSelector.ALLOW_IN_GPU_RDD_VR_AND_SOCKET_PROCESS, 21 }, 22 { 23 'cid': '{c401eb80-f9ea-11d3-bb6f-e732b73ebe7c}', 24 'contract_ids': ['@mozilla.org/gfx/screenmanager;1'], 25 'singleton': True, 26 'type': 'mozilla::widget::ScreenManager', 27 'headers': ['mozilla/StaticPtr.h', 'mozilla/widget/ScreenManager.h'], 28 'constructor': 'mozilla::widget::ScreenManager::GetAddRefedSingleton', 29 'processes': ProcessSelector.ALLOW_IN_GPU_AND_MAIN_PROCESS, 30 }, 31 { 32 'cid': '{a9339876-0027-430f-b953-84c9c11c2da3}', 33 'contract_ids': ['@mozilla.org/widget/taskbarprogress/gtk;1'], 34 'type': 'TaskbarProgress', 35 'headers': ['/widget/gtk/TaskbarProgress.h'], 36 }, 37 { 38 'cid': '{0f872c8c-3ee6-46bd-92a2-69652c6b474e}', 39 'contract_ids': ['@mozilla.org/colorpicker;1'], 40 'type': 'nsColorPicker', 41 'headers': ['/widget/gtk/nsColorPicker.h'], 42 'processes': ProcessSelector.MAIN_PROCESS_ONLY, 43 }, 44 { 45 'cid': '{bd57cee8-1dd1-11b2-9fe7-95cf4709aea3}', 46 'contract_ids': ['@mozilla.org/filepicker;1'], 47 'type': 'nsFilePicker', 48 'headers': ['/widget/gtk/nsFilePicker.h'], 49 'processes': ProcessSelector.MAIN_PROCESS_ONLY, 50 }, 51 { 52 'cid': '{948a0023-e3a7-11d2-96cf-0060b0fb9956}', 53 'contract_ids': ['@mozilla.org/widget/htmlformatconverter;1'], 54 'type': 'nsHTMLFormatConverter', 55 'headers': ['/widget/nsHTMLFormatConverter.h'], 56 }, 57 { 58 'cid': '{b148eed2-236d-11d3-b35c-00a0cc3c1cde}', 59 'contract_ids': ['@mozilla.org/sound;1'], 60 'singleton': True, 61 'type': 'nsISound', 62 'constructor': 'nsSound::GetInstance', 63 'headers': ['/widget/gtk/nsSound.h'], 64 'processes': ProcessSelector.MAIN_PROCESS_ONLY, 65 }, 66 { 67 'cid': '{8b5314bc-db01-11d2-96ce-0060b0fb9956}', 68 'contract_ids': ['@mozilla.org/widget/transferable;1'], 69 'type': 'nsTransferable', 70 'headers': ['/widget/nsTransferable.h'], 71 }, 72 { 73 'cid': '{e221df9b-3d66-4045-9a66-5720949f8d10}', 74 'contract_ids': ['@mozilla.org/applicationchooser;1'], 75 'type': 'nsApplicationChooser', 76 'headers': ['/widget/gtk/nsApplicationChooser.h'], 77 'processes': ProcessSelector.MAIN_PROCESS_ONLY, 78 }, 79] 80 81if defined('MOZ_X11'): 82 Classes += [ 83 { 84 'js_name': 'clipboard', 85 'cid': '{8b5314ba-db01-11d2-96ce-0060b0fb9956}', 86 'contract_ids': ['@mozilla.org/widget/clipboard;1'], 87 'interfaces': ['nsIClipboard'], 88 'type': 'nsIClipboard', 89 'processes': ProcessSelector.MAIN_PROCESS_ONLY, 90 'overridable': True, 91 }, 92 { 93 'cid': '{77221d5a-1dd2-11b2-8c69-c710f15d2ed5}', 94 'contract_ids': ['@mozilla.org/widget/clipboardhelper;1'], 95 'type': 'nsClipboardHelper', 96 'headers': ['/widget/nsClipboardHelper.h'], 97 }, 98 { 99 'cid': '{8b5314bb-db01-11d2-96ce-0060b0fb9956}', 100 'contract_ids': ['@mozilla.org/widget/dragservice;1'], 101 'singleton': True, 102 'type': 'nsDragService', 103 'headers': ['/widget/gtk/nsDragService.h'], 104 'constructor': 'nsDragService::GetInstance', 105 'processes': ProcessSelector.MAIN_PROCESS_ONLY, 106 }, 107 { 108 'name': 'GfxInfo', 109 'cid': '{d755a760-9f27-11df-0800-200c9a664242}', 110 'contract_ids': ['@mozilla.org/gfx/info;1'], 111 'type': 'mozilla::widget::GfxInfo', 112 'headers': ['/widget/gtk/GfxInfo.h'], 113 'init_method': 'Init', 114 'processes': ProcessSelector.ALLOW_IN_GPU_PROCESS, 115 }, 116 { 117 'cid': '{6987230e-0098-4e78-bc5f-1493ee7519fa}', 118 'contract_ids': ['@mozilla.org/widget/useridleservice;1'], 119 'singleton': True, 120 'type': 'nsUserIdleService', 121 'headers': ['/widget/gtk/nsUserIdleServiceGTK.h'], 122 'constructor': 'nsUserIdleServiceGTK::GetInstance', 123 }, 124 ] 125 126if defined('NS_PRINTING'): 127 Classes += [ 128 { 129 'cid': '{d3f69889-e13a-4321-980c-a39332e21f34}', 130 'contract_ids': ['@mozilla.org/gfx/devicecontextspec;1'], 131 'type': 'nsDeviceContextSpecGTK', 132 'headers': ['/widget/gtk/nsDeviceContextSpecG.h'], 133 }, 134 { 135 'cid': '{06beec76-a183-4d9f-85dd-085f26da565a}', 136 'contract_ids': ['@mozilla.org/widget/printdialog-service;1'], 137 'type': 'nsPrintDialogServiceGTK', 138 'headers': ['/widget/gtk/nsPrintDialogGTK.h'], 139 'init_method': 'Init', 140 }, 141 { 142 'cid': '{2f977d53-5485-11d4-87e2-0010a4e75ef2}', 143 'contract_ids': ['@mozilla.org/gfx/printsession;1'], 144 'type': 'nsPrintSession', 145 'headers': ['/widget/nsPrintSession.h'], 146 'init_method': 'Init', 147 }, 148 { 149 'cid': '{841387c8-72e6-484b-9296-bf6eea80d58a}', 150 'contract_ids': ['@mozilla.org/gfx/printsettings-service;1'], 151 'type': 'nsPrintSettingsServiceGTK', 152 'headers': ['/widget/gtk/nsPrintSettingsServiceGTK.h'], 153 'init_method': 'Init', 154 }, 155 { 156 'cid': '{a6cf9129-15b3-11d2-932e-00805f8add32}', 157 'contract_ids': ['@mozilla.org/gfx/printerlist;1'], 158 'type': 'nsPrinterListCUPS', 159 'headers': ['/widget/nsPrinterListCUPS.h'], 160 }, 161 ] 162