Source code

Revision control

Copy as Markdown

Other Tools

# -*- 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',
'fingerprintingprotection',
'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')
if defined('NIGHTLY_BUILD'):
about_pages.append('inference')
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,
},
]