# -*- 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', 'crashcontent', 'crashparent', 'credits', 'httpsonlyerror', 'license', 'logo', 'memory', 'mozilla', 'neterror', 'networking', 'performance', 'plugins', 'printpreview', 'processes', 'serviceworkers', 'srcdoc', 'support', 'telemetry', 'url-classifier', 'webrtc', ] if buildconfig.substs['MOZ_BUILD_APP'] != 'browser': about_pages.append('config') if defined('MOZ_CRASHREPORTER'): about_pages.append('crashes') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android': about_pages.append('profiles') if defined('MOZ_GLEAN'): about_pages.append('glean') 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'], 'jsm': 'resource://gre/modules/URIFixup.jsm', 'constructor': 'URIFixup', }, { 'cid': '{33d75835-722f-42c0-89cc-44f328e56a86}', 'contract_ids': ['@mozilla.org/docshell/uri-fixup-info;1'], 'jsm': 'resource://gre/modules/URIFixup.jsm', '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'], }, { 'cid': '{bd6390c8-fbea-11d4-98f6-001083010e9b}', 'contract_ids': ['@mozilla.org/network/protocol;1?name=default'], 'type': 'nsExternalProtocolHandler', 'headers': ['/uriloader/exthandler/nsExternalProtocolHandler.h'], 'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS, }, { 'name': 'OfflineCacheUpdate', 'cid': '{ec06f3fc-70db-4ecd-94e0-a6e91ca44d8a}', 'contract_ids': ['@mozilla.org/offlinecacheupdate-service;1'], 'singleton': True, 'type': 'nsOfflineCacheUpdateService', 'headers': ['/uriloader/prefetch/nsOfflineCacheUpdate.h'], 'constructor': 'nsOfflineCacheUpdateService::GetInstance', }, { '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': 'mozilla::dom::ContentHandlerService', 'headers': ['ContentHandlerService.h'], 'init_method': 'Init', 'processes': ProcessSelector.CONTENT_PROCESS_ONLY, }, { '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 += [ { 'cid': '{4bf1f8ef-d947-4ba3-9cd3-8c9a54a63a1c}', 'contract_ids': ['@mozilla.org/uriloader/external-url-handler-service;1'], 'type': 'nsExternalURLHandlerService', 'headers': ['nsExternalURLHandlerService.h'], }, # 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, }, ]