tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

components.conf (18837B)


      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 
      7 Headers = [
      8     '/layout/build/nsLayoutModule.h',
      9 ]
     10 
     11 UnloadFunc = 'nsLayoutModuleDtor'
     12 
     13 # This module's unload function needs to be called as late as possible.
     14 Priority = 100
     15 
     16 content_types = [
     17     'application/mathml+xml',
     18     'application/rdf+xml',
     19     'application/vnd.wap.xhtml+xml',
     20     'application/x-view-source',
     21     'application/xhtml+xml',
     22     'application/xml',
     23     'image/svg+xml',
     24     'text/html',
     25     'text/plain',
     26     'text/rdf',
     27     'text/vtt',
     28     'text/xml',
     29 
     30     'image/apng',
     31     'image/bmp',
     32     'image/gif',
     33     'image/icon',
     34     'image/jpeg',
     35     'image/jpg',
     36     'image/pjpeg',
     37     'image/png',
     38     'image/vnd.microsoft.icon',
     39     'image/webp',
     40     'image/x-icon',
     41     'image/x-ms-bmp',
     42     'image/x-png',
     43 ]
     44 
     45 if defined('MOZ_AV1'):
     46     content_types += [
     47         'image/avif',
     48     ]
     49 
     50 if defined('MOZ_WEBM'):
     51     content_types += [
     52         "audio/webm",
     53         "video/webm",
     54     ]
     55 
     56 Classes = [
     57     {
     58         'cid': '{574ce83e-fe9f-4095-b85c-7909abbf7c37}',
     59         'type': 'nsJSURI::Mutator',
     60         'headers': ['nsJSProtocolHandler.h'],
     61     },
     62     {
     63         'cid': '{58f089ee-512a-42d2-a935-d0c874128930}',
     64         'type': 'nsJSURI::Mutator',
     65         'headers': ['nsJSProtocolHandler.h'],
     66     },
     67     {
     68         'cid': '{48118355-e9a5-4452-ab18-59cc426fb817}',
     69         'type': 'nsIDocumentViewer',
     70     },
     71     {
     72         'cid': '{f4fecc26-02fe-46dc-935c-4d6f9acb18a6}',
     73         'type': 'nsOpenWindowInfo',
     74         'headers': ['nsOpenWindowInfo.h']
     75     },
     76     {
     77         'cid': '{bbe50ef2-80eb-469d-b70d-02858275389f}',
     78         'type': 'mozilla::dom::BlobURL::Mutator',
     79         'headers': ['mozilla/dom/BlobURL.h'],
     80     },
     81     {
     82         'cid': '{f5475c51-59a7-4757-b3d9-e211a9410872}',
     83         'type': 'mozilla::dom::BlobURL::Mutator',
     84         'headers': ['mozilla/dom/BlobURL.h'],
     85     },
     86     {
     87         'js_name': 'cpmm',
     88         'cid': '{fe0ff7c3-8e97-448b-9a8a-86afdb9fbbb6}',
     89         'contract_ids': ['@mozilla.org/childprocessmessagemanager;1'],
     90         'legacy_constructor': 'CreateChildMessageManager',
     91     },
     92     {
     93         'cid': '{fc886801-e768-11d4-9885-00c04fa0cf4b}',
     94         'contract_ids': ['@mozilla.org/content/document-loader-factory;1'],
     95         'type': 'nsIDocumentLoaderFactory',
     96         'categories': {
     97             'Gecko-Content-Viewers': {
     98                 'name': content_types,
     99                 'backgroundtasks': BackgroundTasksSelector.ALL_TASKS,
    100             }
    101         },
    102     },
    103     {
    104         'cid': '{0ddf4df8-4dbb-4133-8b79-9afb966514f5}',
    105         'contract_ids': ['@mozilla.org/content/plugin/document-loader-factory;1'],
    106         'type': 'nsIDocumentLoaderFactory',
    107     },
    108     {
    109         'cid': '{3b55e72e-ab7e-431b-89c0-3b06a8b14016}',
    110         'contract_ids': ['@mozilla.org/content/style-sheet-service;1'],
    111         'type': 'nsStyleSheetService',
    112         'headers': ['nsStyleSheetService.h'],
    113         'init_method': 'Init',
    114     },
    115     {
    116         'name': 'ContentSecurityManager',
    117         'cid': '{cdcc1ab8-3cea-4e6c-a294-a651fa35227f}',
    118         'contract_ids': ['@mozilla.org/contentsecuritymanager;1'],
    119         'type': 'nsContentSecurityManager',
    120         'headers': ['mozilla/dom/nsContentSecurityManager.h'],
    121     },
    122     {
    123         'cid': '{09d9ed1a-e5d4-4004-bfe0-27ceb923d9ac}',
    124         'contract_ids': ['@mozilla.org/cspcontext;1'],
    125         'type': 'nsCSPContext',
    126         'headers': ['mozilla/dom/nsCSPContext.h'],
    127     },
    128     {
    129         'cid': '{8d2f40b2-4875-4c95-97d9-3f7dca2cb460}',
    130         'contract_ids': ['@mozilla.org/cspservice;1'],
    131         'type': 'CSPService',
    132         'headers': ['mozilla/dom/nsCSPService.h'],
    133         'categories': {'content-policy': 'CSPService', 'net-channel-event-sinks': 'CSPService'},
    134     },
    135     {
    136         'cid': '{4812ff32-1bff-423b-97fc-40a5696dad22}',
    137         'contract_ids': ['@mozilla.org/integritypolicy;1'],
    138         'type': 'mozilla::dom::IntegrityPolicy',
    139         'headers': ['mozilla/dom/IntegrityPolicy.h'],
    140     },
    141     {
    142         'cid': '{3662958c-0e34-4f57-bc6d-2accdeb4342e}',
    143         'contract_ids': ['@mozilla.org/integritypolicyservice;1'],
    144         'type': 'mozilla::dom::IntegrityPolicyService',
    145         'headers': ['mozilla/dom/IntegrityPolicyService.h'],
    146         'categories': {'content-policy': '@mozilla.org/integritypolicyservice;1'},
    147     },
    148     {
    149         'cid': '{c9da865e-c3d7-4aa1-a271-0f571f013c30}',
    150         'contract_ids': ['@mozilla.org/policycontainer;1'],
    151         'type': 'PolicyContainer',
    152         'headers': ['mozilla/dom/PolicyContainer.h'],
    153     },
    154     {
    155         'cid': '{1147d32c-215b-4014-b180-07fe7aedf915}',
    156         'contract_ids': ['@mozilla.org/data-document-content-policy;1'],
    157         'type': 'nsDataDocumentContentPolicy',
    158         'headers': ['/dom/base/nsDataDocumentContentPolicy.h'],
    159         'categories': {'content-policy': '@mozilla.org/data-document-content-policy;1'},
    160     },
    161     {
    162         'cid': '{ecba5203-77da-465a-865e-78b7af10d8f7}',
    163         'contract_ids': ['@mozilla.org/devicesensors;1'],
    164         'type': 'nsDeviceSensors',
    165         'headers': ['nsDeviceSensors.h'],
    166     },
    167     {
    168         'cid': '{38bd0634-0fd4-46f0-b85f-13ced889eeec}',
    169         'contract_ids': ['@mozilla.org/docshell/structured-clone-container;1'],
    170         'type': 'nsStructuredCloneContainer',
    171         'headers': ['nsStructuredCloneContainer.h'],
    172     },
    173     {
    174         'js_name': 'domStorageManager',
    175         'cid': '{656db07c-aa80-49e4-bce8-e431baae697d}',
    176         'contract_ids': ['@mozilla.org/dom/localStorage-manager;1'],
    177         'interfaces': ['nsIDOMStorageManager', 'nsILocalStorageManager'],
    178         'legacy_constructor': 'LocalStorageManagerConstructor',
    179     },
    180     {
    181         'cid': '{64e4bf03-773e-408e-939a-e11652fdfd28}',
    182         'contract_ids': ['@mozilla.org/dom/sessionStorage-manager;1'],
    183         'legacy_constructor': 'SessionStorageManagerConstructor',
    184     },
    185     {
    186         'js_name': 'qms',
    187         'cid': '{5a75c25a-5e7e-4d90-8f7c-07eb15cc0aa8}',
    188         'contract_ids': ['@mozilla.org/dom/quota-manager-service;1'],
    189         'interfaces': ['nsIQuotaManagerService'],
    190         'singleton': True,
    191         'type': 'mozilla::dom::quota::QuotaManagerService',
    192         'headers': ['mozilla/dom/quota/QuotaManagerService.h'],
    193         'constructor': 'mozilla::dom::quota::QuotaManagerService::FactoryCreate',
    194         'categories': {'idle-daily': 'QuotaManagerService'},
    195     },
    196     {
    197         'cid': '{ae2793c0-2ba3-4adb-9c5e-c23525812c64}',
    198         'contract_ids': ['@mozilla.org/dom/sdb-connection;1'],
    199         'legacy_constructor': 'mozilla::dom::SDBConnection::Create',
    200         'headers': ['mozilla/dom/SDBConnection.h'],
    201     },
    202     {
    203         'cid': '{62ec8731-55ad-4246-b2ea-f26c1fe19d2d}',
    204         'contract_ids': ['@mozilla.org/dom/workers/workerdebuggermanager;1'],
    205         'singleton': True,
    206         'type': 'mozilla::dom::WorkerDebuggerManager',
    207         'headers': ['mozilla/dom/WorkerDebuggerManager.h'],
    208         'constructor': 'mozilla::dom::WorkerDebuggerManager::GetInstance',
    209     },
    210     {
    211         'js_name': 'els',
    212         'cid': '{baa34652-f1f1-4185-b224-244ee82a413a}',
    213         'contract_ids': ['@mozilla.org/eventlistenerservice;1'],
    214         'interfaces': ['nsIEventListenerService'],
    215         'type': 'nsIEventListenerService',
    216     },
    217     {
    218         'cid': '{e8ee88b0-5571-4086-a45b-39a716906bdb}',
    219         'contract_ids': [],
    220         'type': 'ExpandedPrincipal::Deserializer',
    221         'headers': ['/caps/ExpandedPrincipal.h'],
    222     },
    223     {
    224         'js_name': 'focus',
    225         'cid': '{cf7fd51f-aba2-44c1-9ff0-11f7508efcd4}',
    226         'contract_ids': ['@mozilla.org/focus-manager;1'],
    227         'interfaces': ['nsIFocusManager'],
    228         'type': 'nsIFocusManager',
    229     },
    230     {
    231         'cid': '{7b121f7e-ebe4-43ab-9410-dc9087a1dba6}',
    232         'contract_ids': ['@mozilla.org/gecko-media-plugin-service;1'],
    233         'singleton': True,
    234         'type': 'mozilla::gmp::GeckoMediaPluginService',
    235         'headers': ['GMPService.h'],
    236         'constructor': 'mozilla::gmp::GeckoMediaPluginService::GetGeckoMediaPluginService',
    237     },
    238     {
    239         'cid': '{01e1c3ff-094a-d048-44b4-62d29c7b4f39}',
    240         'contract_ids': ['@mozilla.org/geolocation;1'],
    241         'singleton': True,
    242         'type': 'mozilla::dom::Geolocation',
    243         'headers': ['/dom/geolocation/Geolocation.h'],
    244         'constructor': 'mozilla::dom::Geolocation::NonWindowSingleton',
    245     },
    246     {
    247         'js_name': 'mm',
    248         'cid': '{130b016f-fad7-4526-bc7f-827dabf79265}',
    249         'contract_ids': ['@mozilla.org/globalmessagemanager;1'],
    250         'legacy_constructor': 'CreateGlobalMessageManager',
    251     },
    252     {
    253         'cid': '{bfcb82c2-5611-4318-90d6-baf4a7864252}',
    254         'contract_ids': ['@mozilla.org/inspector/deep-tree-walker;1'],
    255         'type': 'inDeepTreeWalker',
    256         'headers': ['/layout/inspector/inDeepTreeWalker.h'],
    257     },
    258     {
    259         'cid': '{0e3afd3d-eb60-4c2b-963b-56d7c439f124}',
    260         'contract_ids': ['@mozilla.org/layout/content-policy;1'],
    261         'legacy_constructor': 'CreateContentPolicy',
    262     },
    263     {
    264         'cid': '{4aef38b7-6364-4e23-a5e7-12f837fbbd9c}',
    265         'contract_ids': [
    266             '@mozilla.org/layout/contentserializer;1?mimetype=application/vnd.mozilla.xul+xml',
    267             '@mozilla.org/layout/contentserializer;1?mimetype=application/xml',
    268             '@mozilla.org/layout/contentserializer;1?mimetype=image/svg+xml',
    269             '@mozilla.org/layout/contentserializer;1?mimetype=text/xml',
    270         ],
    271         'type': 'nsIContentSerializer',
    272         'legacy_constructor': 'CreateXMLContentSerializer',
    273     },
    274     {
    275         'cid': '{e7c2aaf5-c11a-4954-9dbf-e28edec1fd91}',
    276         'contract_ids': ['@mozilla.org/layout/contentserializer;1?mimetype=application/xhtml+xml'],
    277         'legacy_constructor': 'CreateXHTMLContentSerializer',
    278     },
    279     {
    280         'cid': '{9d3f70da-86e9-11d4-95ec-00b0d03e37b7}',
    281         'contract_ids': ['@mozilla.org/layout/contentserializer;1?mimetype=text/html'],
    282         'type': 'nsIContentSerializer',
    283         'legacy_constructor': 'CreateHTMLContentSerializer',
    284     },
    285     {
    286         'cid': '{6030f7ef-32ed-46a7-9a63-6a5d3f90445f}',
    287         'contract_ids': ['@mozilla.org/layout/contentserializer;1?mimetype=text/plain'],
    288         'legacy_constructor': 'CreatePlainTextSerializer',
    289     },
    290     {
    291         'cid': '{abc622ea-9655-4123-80d9-22621bdd5465}',
    292         'contract_ids': ['@mozilla.org/mediaManagerService;1'],
    293         'singleton': True,
    294         'type': 'nsIMediaManagerService',
    295         'headers': ['mozilla/MediaManager.h'],
    296         'constructor': 'mozilla::MediaManager::GetInstance',
    297     },
    298     {
    299         'cid': '{daf1461b-bf29-4f88-8d0e-4bcdf332c862}',
    300         'contract_ids': ['@mozilla.org/mixedcontentblocker;1'],
    301         'type': 'nsMixedContentBlocker',
    302         'headers': ['mozilla/dom/nsMixedContentBlocker.h'],
    303         'categories': {
    304             'content-policy': {
    305                 'name': '@mozilla.org/mixedcontentblocker;1',
    306                 'backgroundtasks': BackgroundTasksSelector.ALL_TASKS,
    307             },
    308             'net-channel-event-sinks': {
    309                 'name': '@mozilla.org/mixedcontentblocker;1',
    310                 'backgroundtasks': BackgroundTasksSelector.ALL_TASKS,
    311             },
    312         },
    313     },
    314     {
    315         'cid': '{041a129f-10ce-4bda-a60d-e027a26d5ed0}',
    316         'contract_ids': ['@mozilla.org/referrer-info;1'],
    317         'type': 'mozilla::dom::ReferrerInfo',
    318         'headers': ['mozilla/dom/ReferrerInfo.h'],
    319     },
    320     {
    321         'cid': '{bfc310d2-38a0-11d3-8cd3-0060b0fc14a3}',
    322         'contract_ids': ['@mozilla.org/network/protocol;1?name=javascript'],
    323         'type': 'nsJSProtocolHandler',
    324         'headers': ['nsJSProtocolHandler.h'],
    325         'protocol_config': {
    326             'scheme': 'javascript',
    327             'flags': [
    328                 'URI_NORELATIVE',
    329                 'URI_NOAUTH',
    330                 'URI_INHERITS_SECURITY_CONTEXT',
    331                 'URI_LOADABLE_BY_ANYONE',
    332                 'URI_NON_PERSISTABLE',
    333                 'URI_OPENING_EXECUTES_SCRIPT',
    334             ],
    335         },
    336     },
    337     {
    338         'cid': '{ac9e3e82-bfbd-4f26-941e-f58c8ee178c1}',
    339         'contract_ids': ['@mozilla.org/no-data-protocol-content-policy;1'],
    340         'type': 'nsNoDataProtocolContentPolicy',
    341         'headers': ['/dom/base/nsNoDataProtocolContentPolicy.h'],
    342         'categories': {'content-policy': '@mozilla.org/no-data-protocol-content-policy;1'},
    343     },
    344     {
    345         'cid': '{bd066e5f-146f-4472-8331-7bfd05b1ed90}',
    346         'contract_ids': [],
    347         'type': 'mozilla::NullPrincipal::Deserializer',
    348         'headers': ['/caps/NullPrincipal.h'],
    349     },
    350     {
    351         'js_name': 'ppmm',
    352         'cid': '{2a058404-fb85-44ec-8cfd-e8cbdc988dc1}',
    353         'contract_ids': ['@mozilla.org/parentprocessmessagemanager;1'],
    354         'legacy_constructor': 'CreateParentMessageManager',
    355     },
    356     {
    357         'cid': '{af7b24cb-893f-41bb-961f-5a69388e27c3}',
    358         'contract_ids': ['@mozilla.org/parserutils;1'],
    359         'type': 'nsParserUtils',
    360         'headers': ['nsParserUtils.h'],
    361     },
    362     {
    363         'cid': '{653e0e4d-3ee4-45fa-b272-97c20bc01eb8}',
    364         'contract_ids': [],
    365         'type': 'mozilla::ContentPrincipal::Deserializer',
    366         'headers': ['/caps/ContentPrincipal.h'],
    367     },
    368     {
    369         'cid': '{2fc2d3e3-020f-404e-b06a-6ecf3ea2334a}',
    370         'contract_ids': ['@mozilla.org/push/Notifier;1'],
    371         'type': 'mozilla::dom::PushNotifier',
    372         'headers': ['mozilla/dom/PushNotifier.h'],
    373     },
    374     {
    375         'cid': '{f68037ec-2790-44c5-8e5f-df5da58b93a7}',
    376         'contract_ids': ['@mozilla.org/scriptable-content-iterator;1'],
    377         'type': 'ScriptableContentIterator',
    378         'headers': ['mozilla/ScriptableContentIterator.h'],
    379     },
    380     {
    381         'cid': '{1950539a-90f0-4d22-b5af-71329c68fa35}',
    382         'contract_ids': ['@mozilla.org/scripterror;1'],
    383         'type': 'nsScriptError',
    384         'headers': ['/dom/bindings/nsScriptError.h'],
    385     },
    386     {
    387         'name': 'ScriptSecurityManager',
    388         'js_name': 'scriptSecurityManager',
    389         'cid': '{7ee2a4c0-4b93-17d3-ba18-0060b0f199a2}',
    390         'contract_ids': ['@mozilla.org/scriptsecuritymanager;1'],
    391         'interfaces': ['nsIScriptSecurityManager'],
    392         'legacy_constructor': 'Construct_nsIScriptSecurityManager',
    393     },
    394     {
    395         'name': 'ServiceWorkerManager',
    396         'cid': '{c74bde32-bcc7-4840-8430-c733351b212a}',
    397         'contract_ids': ['@mozilla.org/serviceworkers/manager;1'],
    398         'singleton': True,
    399         'type': 'mozilla::dom::ServiceWorkerManager',
    400         'headers': ['mozilla/dom/ServiceWorkerManager.h'],
    401         'constructor': 'mozilla::dom::ServiceWorkerManager::GetInstance',
    402     },
    403     {
    404         'cid': '{69da374a-fda3-4a93-9fbc-d9304f66a7fe}',
    405         'contract_ids': ['@mozilla.org/storage/activity-service;1'],
    406         'singleton': True,
    407         'type': 'mozilla::dom::StorageActivityService',
    408         'headers': ['mozilla/StaticPtr.h', 'mozilla/dom/StorageActivityService.h'],
    409         'constructor': 'mozilla::dom::StorageActivityService::GetOrCreate',
    410     },
    411     {
    412         'cid': '{4a6212db-accb-11d3-b765-0060b0b6cecb}',
    413         'contract_ids': ['@mozilla.org/systemprincipal;1'],
    414         'singleton': True,
    415         'type': 'nsIPrincipal',
    416         'headers': ['nsScriptSecurityManager.h', '/caps/SystemPrincipal.h'],
    417         'constructor': 'nsScriptSecurityManager::SystemPrincipalSingletonConstructor',
    418     },
    419     {
    420         'cid': '{caaab47f-1e31-478e-8919-970904e9cb72}',
    421         'contract_ids': ['@mozilla.org/text-input-processor;1'],
    422         'type': 'mozilla::TextInputProcessor',
    423         'headers': ['mozilla/TextInputProcessor.h'],
    424     },
    425     {
    426         'name': 'ThirdPartyUtil',
    427         'cid': '{08c6cc8b-cfb0-421d-b1f7-683ff2989681}',
    428         'contract_ids': ['@mozilla.org/thirdpartyutil;1'],
    429         'type': 'ThirdPartyUtil',
    430         'headers': ['/dom/base/ThirdPartyUtil.h'],
    431         'init_method': 'Init',
    432     },
    433     {
    434         'cid': '{31689828-da66-49a6-870c-df62b83fe789}',
    435         'contract_ids': ['@mozilla.org/websocketevent/service;1'],
    436         'singleton': True,
    437         'type': 'mozilla::net::WebSocketEventService',
    438         'headers': ['mozilla/net/WebSocketEventService.h'],
    439         'constructor': 'mozilla::net::WebSocketEventService::GetOrCreate',
    440     },
    441     {
    442         'cid': '{abfbb785-5a44-49cf-88db-2f300bf727c9}',
    443         'contract_ids': ['@mozilla.org/eventsourceevent/service;1'],
    444         'singleton': True,
    445         'type': 'mozilla::dom::EventSourceEventService',
    446         'headers': ['mozilla/dom/EventSourceEventService.h'],
    447         'constructor': 'mozilla::dom::EventSourceEventService::GetOrCreate',
    448     },
    449     {
    450         'cid': '{54e6b9d6-248c-4eb0-81b8-e72f04067f3c}',
    451         'contract_ids': ['@mozilla.org/webtransportevent/service;1'],
    452         'singleton': True,
    453         'type': 'mozilla::net::WebTransportEventService',
    454         'headers': ['mozilla/net/WebTransportEventService.h'],
    455         'constructor': 'mozilla::net::WebTransportEventService::GetOrCreate',
    456     },
    457 ]
    458 
    459 if defined('MOZ_WEBSPEECH'):
    460     Classes += [
    461         {
    462             'cid': '{7090524d-5574-4492-a77f-d8d558ced59d}',
    463             'contract_ids': ['@mozilla.org/synth-voice-registry;1'],
    464             'singleton': True,
    465             'type': 'mozilla::dom::nsSynthVoiceRegistry',
    466             'headers': ['mozilla/dom/nsSynthVoiceRegistry.h'],
    467             'constructor': 'mozilla::dom::nsSynthVoiceRegistry::GetInstanceForService',
    468         },
    469         {
    470             'cid': '{0ff5ce56-5b09-4db8-adc6-8266af95f864}',
    471             'contract_ids': ['@mozilla.org/webspeech/service;1?name=online'],
    472             'type': 'mozilla::OnlineSpeechRecognitionService',
    473             'headers': ['mozilla/dom/OnlineSpeechRecognitionService.h'],
    474         },
    475     ]
    476 
    477 if defined('MOZ_WEBSPEECH_TEST_BACKEND'):
    478     Classes += [
    479         {
    480             'cid': '{48c345e7-9929-4f9a-a563-f478222dabcd}',
    481             'contract_ids': ['@mozilla.org/webspeech/service;1?name=fake'],
    482             'type': 'mozilla::FakeSpeechRecognitionService',
    483             'headers': ['mozilla/dom/FakeSpeechRecognitionService.h'],
    484         },
    485     ]
    486 
    487 if defined('ACCESSIBILITY'):
    488     Classes += [
    489         {
    490             'cid': '{3b265b69-f813-48ff-880d-d88d101af404}',
    491             'contract_ids': ['@mozilla.org/accessibilityService;1'],
    492             'type': 'nsIAccessibilityService',
    493         },
    494     ]
    495 
    496 if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'android':
    497     Classes += [
    498         {
    499             'cid': '{1f15dbc8-bfaa-45de-8a46-08e2e26326b0}',
    500             'contract_ids': ['@mozilla.org/widget/hapticfeedback;1'],
    501             'type': 'nsHapticFeedback',
    502             'headers': ['/dom/system/nsHapticFeedback.h'],
    503         },
    504     ]