# -*- 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/. about_pages = [ 'about', 'addons', 'buildconfig', 'certificate', 'checkerboard', 'config', 'crashcontent', 'crashparent', 'crashgpu', 'crashextensions', 'credits', 'fingerprinting', 'httpsonlyerror', 'license', 'logging', 'logo', 'memory', 'mozilla', 'neterror', 'networking', 'performance', 'processes', 'serviceworkers', 'srcdoc', 'support', 'telemetry', 'translations', 'url-classifier', 'webrtc', ] if defined('MOZ_CRASHREPORTER'): about_pages.append('crashes') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android': about_pages.append('profiles') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'windows': about_pages.append('third-party') about_pages.append('windows-messages') if not defined('MOZ_GLEAN_ANDROID'): about_pages.append('glean') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android' and buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'windows': about_pages.append('webauthn') Headers = ['/docshell/build/nsDocShellModule.h'] InitFunc = 'mozilla::InitDocShellModule' UnloadFunc = 'mozilla::UnloadDocShellModule' Classes = [ { 'name': 'DocLoader', 'cid': '{057b04d0-0ccf-11d2-beba-00805f8a66dc}', 'contract_ids': ['@mozilla.org/docloaderservice;1'], 'type': 'nsDocLoader', 'headers': ['nsDocLoader.h'], 'init_method': 'Init', }, { 'name': 'URIFixup', 'js_name': 'uriFixup', 'cid': '{c6cf88b7-452e-47eb-bdc9-86e3561648ef}', 'contract_ids': ['@mozilla.org/docshell/uri-fixup;1'], 'interfaces': ['nsIURIFixup'], 'esModule': 'resource://gre/modules/URIFixup.sys.mjs', 'singleton': True, 'constructor': 'URIFixup', }, { 'cid': '{33d75835-722f-42c0-89cc-44f328e56a86}', 'contract_ids': ['@mozilla.org/docshell/uri-fixup-info;1'], 'esModule': 'resource://gre/modules/URIFixup.sys.mjs', 'constructor': 'URIFixupInfo', }, { 'cid': '{56ebedd4-6ccf-48e8-bdae-adc77f044567}', 'contract_ids': [ '@mozilla.org/network/protocol/about;1?what=%s' % path for path in about_pages ], 'legacy_constructor': 'nsAboutRedirector::Create', 'headers': ['/docshell/base/nsAboutRedirector.h'], }, { 'name': 'ExternalProtocolHandler', 'cid': '{bd6390c8-fbea-11d4-98f6-001083010e9b}', 'contract_ids': ['@mozilla.org/network/protocol;1?name=default'], 'type': 'nsExternalProtocolHandler', 'headers': ['/uriloader/exthandler/nsExternalProtocolHandler.h'], 'protocol_config': { 'scheme': 'default', 'flags': [ 'URI_NORELATIVE', 'URI_NOAUTH', 'URI_LOADABLE_BY_ANYONE', 'URI_NON_PERSISTABLE', 'URI_DOES_NOT_RETURN_DATA', ], 'default_port': 0, }, 'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS, }, { 'cid': '{95790842-75a0-430d-98bf-f5ce3788ea6d}', 'contract_ids': ['@mozilla.org/ospermissionrequest;1'], 'type': 'nsOSPermissionRequest', 'headers': ['nsOSPermissionRequest.h'], 'processes': ProcessSelector.MAIN_PROCESS_ONLY, }, { 'name': 'Prefetch', 'cid': '{6b8bdffc-3394-417d-be83-a81b7c0f63bf}', 'contract_ids': ['@mozilla.org/prefetch-service;1'], 'type': 'nsPrefetchService', 'headers': ['/uriloader/prefetch/nsPrefetchService.h'], 'init_method': 'Init', }, { 'cid': '{c4b6fb7c-bfb1-49dc-a65f-035796524b53}', 'contract_ids': ['@mozilla.org/uriloader/handler-service;1'], 'type': 'nsIHandlerService', 'headers': ['ContentHandlerService.h'], 'constructor': 'mozilla::dom::ContentHandlerService::Create', }, { 'cid': '{bc0017e3-2438-47be-a567-41db58f17627}', 'contract_ids': ['@mozilla.org/uriloader/local-handler-app;1'], 'type': 'PlatformLocalHandlerApp_t', 'headers': ['/uriloader/exthandler/nsLocalHandlerApp.h'], }, { 'name': 'URILoader', 'cid': '{9f6d5d40-90e7-11d3-af80-00a024ffc08c}', 'contract_ids': ['@mozilla.org/uriloader;1'], 'type': 'nsURILoader', 'headers': ['nsURILoader.h'], }, { 'cid': '{f30bc0a2-958b-4287-bf62-ce38ba0c811e}', 'contract_ids': ['@mozilla.org/webnavigation-info;1'], 'type': 'nsWebNavigationInfo', 'headers': ['/docshell/base/nsWebNavigationInfo.h'], }, ] if defined('MOZ_ENABLE_DBUS'): Classes += [ { 'name': 'DBusHandlerApp', 'cid': '{6c3c274b-4cbf-4bb5-a635-05ad2cbb6535}', 'contract_ids': ['@mozilla.org/uriloader/dbus-handler-app;1'], 'type': 'nsDBusHandlerApp', 'headers': ['/uriloader/exthandler/nsDBusHandlerApp.h'], }, ] if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'android': Classes += [ # Android has its own externel-helper-app-service, so we omit # that here for nsExternalHelperAppService. { 'cid': '{a7f800e0-4306-11d4-98d0-001083010e9b}', 'contract_ids': [ '@mozilla.org/mime;1', '@mozilla.org/uriloader/external-protocol-service;1', ], 'type': 'nsExternalHelperAppService', 'constructor': 'nsExternalHelperAppService::GetSingleton', 'headers': ['nsExternalHelperAppService.h'], 'init_method': 'Init', 'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS, }, ] else: Classes += [ { 'cid': '{a7f800e0-4306-11d4-98d0-001083010e9b}', 'contract_ids': [ '@mozilla.org/mime;1', '@mozilla.org/uriloader/external-helper-app-service;1', '@mozilla.org/uriloader/external-protocol-service;1', ], 'type': 'nsExternalHelperAppService', 'constructor': 'nsExternalHelperAppService::GetSingleton', 'headers': ['nsExternalHelperAppService.h'], 'init_method': 'Init', 'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS, }, ]