Backed out 79 changesets (bug 1524687, bug 1524688) for crashes on mozilla::dom::ScreenOrientation::ScreenOrientation(nsPIDOMWindowInner *,nsScreen *). CLOSED TREE

Backed out changeset 68a001a42406 (bug 1524687)
Backed out changeset 328de611bcd3 (bug 1524688)
Backed out changeset 68cffca6927a (bug 1524687)
Backed out changeset 81dc12cc9257 (bug 1524688)
Backed out changeset c7c49f64048f (bug 1524688)
Backed out changeset fb23a0271da0 (bug 1524688)
Backed out changeset 0c1d1248e59e (bug 1524688)
Backed out changeset 9e9ec7de4160 (bug 1524688)
Backed out changeset de0b9993bd5d (bug 1524688)
Backed out changeset 92877cf4fe33 (bug 1524688)
Backed out changeset b4938f2ff8fd (bug 1524688)
Backed out changeset 230d2feaf941 (bug 1524688)
Backed out changeset 6c63bc240972 (bug 1524688)
Backed out changeset 0ad5465eace1 (bug 1524688)
Backed out changeset 1e75ce91029b (bug 1524688)
Backed out changeset 34a978503b1d (bug 1524688)
Backed out changeset 183602e8a30b (bug 1524688)
Backed out changeset 12a9135dc005 (bug 1524688)
Backed out changeset 978ef5dac9db (bug 1524688)
Backed out changeset 28105bf7bf6a (bug 1524688)
Backed out changeset a9fb74beaf2b (bug 1524688)
Backed out changeset fe106b369a72 (bug 1524688)
Backed out changeset e657e77d4271 (bug 1524688)
Backed out changeset 09f626870ad0 (bug 1524688)
Backed out changeset fe9b6695212e (bug 1524688)
Backed out changeset 995ea188bc31 (bug 1524688)
Backed out changeset 01c4d3edb1b0 (bug 1524688)
Backed out changeset 1bb7dfbb9f48 (bug 1524688)
Backed out changeset 56c61e0a1f45 (bug 1524688)
Backed out changeset c819943ff466 (bug 1524688)
Backed out changeset a1dd5cec066e (bug 1524688)
Backed out changeset 517838ee0c3c (bug 1524688)
Backed out changeset f509a5759fdf (bug 1524688)
Backed out changeset 56f5c8f0d708 (bug 1524688)
Backed out changeset 5746311ef859 (bug 1524688)
Backed out changeset df02f7d25212 (bug 1524688)
Backed out changeset c9846136d105 (bug 1524688)
Backed out changeset 2bd48db9cd0f (bug 1524688)
Backed out changeset ff120b4eeb79 (bug 1524688)
Backed out changeset fe583e7aae8d (bug 1524688)
Backed out changeset 18f156d6355a (bug 1524688)
Backed out changeset f4eaebbe2e0f (bug 1524688)
Backed out changeset bf6b18e23f69 (bug 1524688)
Backed out changeset dd89eb7e9b0d (bug 1524688)
Backed out changeset 4cbbb367ba0b (bug 1524688)
Backed out changeset 4ed0cf6be580 (bug 1524688)
Backed out changeset d8efb5ed62b1 (bug 1524688)
Backed out changeset ea347d57d73a (bug 1524688)
Backed out changeset 911689ef9f33 (bug 1524688)
Backed out changeset 28670fdc418d (bug 1524688)
Backed out changeset 38e1e42a0fb0 (bug 1524688)
Backed out changeset 35a5f031dd1e (bug 1524688)
Backed out changeset b586d55d76d5 (bug 1524688)
Backed out changeset 6dcacead1746 (bug 1524688)
Backed out changeset 9895239d8ac6 (bug 1524688)
Backed out changeset 25f982fd53bd (bug 1524688)
Backed out changeset 4fb0f0a59fe2 (bug 1524688)
Backed out changeset fdc6c4ed241a (bug 1524688)
Backed out changeset 5ce5986068f0 (bug 1524688)
Backed out changeset ab64ed7388ae (bug 1524688)
Backed out changeset 56607c5a301a (bug 1524688)
Backed out changeset 6b3684e7d8f9 (bug 1524688)
Backed out changeset ee28258a5724 (bug 1524688)
Backed out changeset 9201a7ea3c54 (bug 1524688)
Backed out changeset d5dca413e2da (bug 1524688)
Backed out changeset 68eb174a337b (bug 1524688)
Backed out changeset 625f71135038 (bug 1524687)
Backed out changeset 46e13c453538 (bug 1524687)
Backed out changeset 614be688767f (bug 1524687)
Backed out changeset 9c24919ac5c2 (bug 1524687)
Backed out changeset b9862758b98c (bug 1524687)
Backed out changeset 92d9e927deec (bug 1524687)
Backed out changeset f4ee175bc5bd (bug 1524687)
Backed out changeset 191afe83da2e (bug 1524687)
Backed out changeset c58caf41bb94 (bug 1524687)
Backed out changeset df95a56dae04 (bug 1524687)
Backed out changeset 10c69df4444d (bug 1524687)
Backed out changeset 219b84a58f50 (bug 1524687)
Backed out changeset e96e61bd282f (bug 1524687)

--HG--
rename : browser/components/migration/360seProfileMigrator.jsm => browser/components/migration/360seProfileMigrator.js
rename : browser/components/migration/ChromeProfileMigrator.jsm => browser/components/migration/ChromeProfileMigrator.js
rename : browser/components/migration/EdgeProfileMigrator.jsm => browser/components/migration/EdgeProfileMigrator.js
rename : browser/components/migration/FirefoxProfileMigrator.jsm => browser/components/migration/FirefoxProfileMigrator.js
rename : browser/components/migration/IEProfileMigrator.jsm => browser/components/migration/IEProfileMigrator.js
rename : browser/components/migration/ProfileMigrator.jsm => browser/components/migration/ProfileMigrator.js
rename : browser/components/migration/SafariProfileMigrator.jsm => browser/components/migration/SafariProfileMigrator.js
rename : browser/components/newtab/AboutNewTabService.jsm => browser/components/newtab/aboutNewTabService.js
rename : browser/components/BrowserContentHandler.jsm => browser/components/nsBrowserContentHandler.js
rename : browser/components/BrowserGlue.jsm => browser/components/nsBrowserGlue.js
rename : browser/components/payments/PaymentUIService.jsm => browser/components/payments/paymentUIService.js
rename : browser/components/protocolhandler/WebProtocolHandlerRegistrar.jsm => browser/components/protocolhandler/WebProtocolHandlerRegistrar.js
rename : devtools/startup/AboutDebuggingNewRegistration.jsm => devtools/startup/aboutdebugging-new-registration.js
rename : devtools/startup/AboutDebuggingRegistration.jsm => devtools/startup/aboutdebugging-registration.js
rename : devtools/startup/aboutdevtools/AboutDevToolsRegistration.jsm => devtools/startup/aboutdevtools/aboutdevtools-registration.js
rename : devtools/startup/AboutDevToolsToolboxRegistration.jsm => devtools/startup/aboutdevtoolstoolbox-registration.js
rename : devtools/startup/DevToolsStartup.jsm => devtools/startup/devtools-startup.js
rename : dom/base/ProcessSelector.jsm => dom/base/ProcessSelector.js
rename : dom/base/SlowScriptDebug.jsm => dom/base/SlowScriptDebug.js
rename : dom/base/ContentAreaDropListener.jsm => dom/base/contentAreaDropListener.js
rename : dom/browser-element/BrowserElementParent.jsm => dom/browser-element/BrowserElementParent.js
rename : dom/console/ConsoleAPIStorage.jsm => dom/console/ConsoleAPIStorage.js
rename : dom/html/HTMLMenuBuilder.jsm => dom/html/htmlMenuBuilder.js
rename : dom/media/PeerConnection.jsm => dom/media/PeerConnection.js
rename : dom/notification/NotificationStorage.jsm => dom/notification/NotificationStorage.js
rename : dom/presentation/PresentationDataChannelSessionTransport.jsm => dom/presentation/PresentationDataChannelSessionTransport.js
rename : dom/presentation/PresentationNetworkHelper.jsm => dom/presentation/PresentationNetworkHelper.js
rename : dom/presentation/provider/AndroidCastDeviceProvider.jsm => dom/presentation/provider/AndroidCastDeviceProvider.js
rename : dom/presentation/provider/PresentationControlService.jsm => dom/presentation/provider/PresentationControlService.js
rename : dom/push/Push.jsm => dom/push/Push.js
rename : dom/push/PushComponents.jsm => dom/push/PushComponents.js
rename : dom/system/NetworkGeolocationProvider.jsm => dom/system/NetworkGeolocationProvider.js
rename : layout/tools/recording/RecordingCmdLine.jsm => layout/tools/recording/recording-cmdline.js
rename : netwerk/dns/mdns/libmdns/DNSServiceDiscovery.jsm => netwerk/dns/mdns/libmdns/nsDNSServiceDiscovery.js
rename : netwerk/protocol/http/UAOverridesBootstrapper.jsm => netwerk/protocol/http/UAOverridesBootstrapper.js
rename : netwerk/protocol/http/WellKnownOpportunisticUtils.jsm => netwerk/protocol/http/WellKnownOpportunisticUtils.js
rename : services/fxaccounts/FxAccountsPush.jsm => services/fxaccounts/FxAccountsPush.js
rename : services/settings/RemoteSettingsComponents.jsm => services/settings/RemoteSettingsComponents.js
rename : services/sync/Weave.jsm => services/sync/Weave.js
rename : toolkit/components/asyncshutdown/nsAsyncShutdown.jsm => toolkit/components/asyncshutdown/nsAsyncShutdown.js
rename : toolkit/components/backgroundhangmonitor/BHRTelemetryService.jsm => toolkit/components/backgroundhangmonitor/BHRTelemetryService.js
rename : toolkit/components/captivedetect/CaptiveDetect.jsm => toolkit/components/captivedetect/captivedetect.js
rename : toolkit/components/cleardata/ClearDataService.jsm => toolkit/components/cleardata/ClearDataService.js
rename : toolkit/components/contentprefs/ContentPrefService2.jsm => toolkit/components/contentprefs/ContentPrefService2.js
rename : toolkit/components/crashes/CrashService.jsm => toolkit/components/crashes/CrashService.js
rename : toolkit/components/crashmonitor/nsCrashMonitor.jsm => toolkit/components/crashmonitor/nsCrashMonitor.js
rename : toolkit/components/downloads/DownloadLegacy.jsm => toolkit/components/downloads/DownloadLegacy.js
rename : toolkit/components/gfx/SanityTest.jsm => toolkit/components/gfx/SanityTest.js
rename : toolkit/components/mozintl/mozIntl.jsm => toolkit/components/mozintl/mozIntl.js
rename : toolkit/components/mozprotocol/MozProtocolHandler.jsm => toolkit/components/mozprotocol/mozProtocolHandler.js
rename : toolkit/components/normandy/ShieldContentProcess.jsm => toolkit/components/normandy/shield-content-process.js
rename : toolkit/components/DefaultCLH.jsm => toolkit/components/nsDefaultCLH.js
rename : toolkit/components/passwordmgr/LoginInfo.jsm => toolkit/components/passwordmgr/nsLoginInfo.js
rename : toolkit/components/passwordmgr/LoginManager.jsm => toolkit/components/passwordmgr/nsLoginManager.js
rename : toolkit/components/passwordmgr/LoginManagerPrompter.jsm => toolkit/components/passwordmgr/nsLoginManagerPrompter.js
rename : toolkit/components/places/ColorAnalyzer.jsm => toolkit/components/places/ColorAnalyzer.js
rename : toolkit/components/places/PageIconProtocolHandler.jsm => toolkit/components/places/PageIconProtocolHandler.js
rename : toolkit/components/places/PlacesCategoriesStarter.jsm => toolkit/components/places/PlacesCategoriesStarter.js
rename : toolkit/components/places/UnifiedComplete.jsm => toolkit/components/places/UnifiedComplete.js
rename : toolkit/components/places/PlacesExpiration.jsm => toolkit/components/places/nsPlacesExpiration.js
rename : toolkit/components/places/TaggingService.jsm => toolkit/components/places/nsTaggingService.js
rename : toolkit/components/processsingleton/ContentProcessSingleton.jsm => toolkit/components/processsingleton/ContentProcessSingleton.js
rename : toolkit/components/processsingleton/MainProcessSingleton.jsm => toolkit/components/processsingleton/MainProcessSingleton.js
rename : toolkit/components/prompts/src/Prompter.jsm => toolkit/components/prompts/src/nsPrompter.js
rename : toolkit/components/remotebrowserutils/RemoteWebNavigation.jsm => toolkit/components/remotebrowserutils/RemoteWebNavigation.js
rename : toolkit/components/satchel/FormHistoryStartup.jsm => toolkit/components/satchel/FormHistoryStartup.js
rename : toolkit/components/satchel/FormAutoComplete.jsm => toolkit/components/satchel/nsFormAutoComplete.js
rename : toolkit/components/satchel/InputListAutoComplete.jsm => toolkit/components/satchel/nsInputListAutoComplete.js
rename : toolkit/components/search/SearchService.jsm => toolkit/components/search/nsSearchService.js
rename : toolkit/components/search/SearchSuggestions.jsm => toolkit/components/search/nsSearchSuggestions.js
rename : toolkit/components/search/Sidebar.jsm => toolkit/components/search/nsSidebar.js
rename : toolkit/components/telemetry/TelemetryStartup.jsm => toolkit/components/telemetry/TelemetryStartup.js
rename : toolkit/components/terminator/TerminatorTelemetry.jsm => toolkit/components/terminator/nsTerminatorTelemetry.js
rename : toolkit/components/thumbnails/PageThumbsStorageService.jsm => toolkit/components/thumbnails/PageThumbsStorageService.js
rename : toolkit/components/timermanager/UpdateTimerManager.jsm => toolkit/components/timermanager/nsUpdateTimerManager.js
rename : toolkit/components/tooltiptext/TooltipTextProvider.jsm => toolkit/components/tooltiptext/TooltipTextProvider.js
rename : toolkit/components/url-classifier/UrlClassifierHashCompleter.jsm => toolkit/components/url-classifier/nsUrlClassifierHashCompleter.js
rename : toolkit/components/url-classifier/UrlClassifierLib.jsm => toolkit/components/url-classifier/nsUrlClassifierLib.js
rename : toolkit/components/url-classifier/UrlClassifierListManager.jsm => toolkit/components/url-classifier/nsUrlClassifierListManager.js
rename : toolkit/components/urlformatter/URLFormatter.jsm => toolkit/components/urlformatter/nsURLFormatter.js
rename : toolkit/components/utils/SimpleServices.jsm => toolkit/components/utils/simpleServices.js
rename : toolkit/components/xulstore/XULStore.jsm => toolkit/components/xulstore/XULStore.js
rename : toolkit/mozapps/downloads/HelperAppDlg.jsm => toolkit/mozapps/downloads/nsHelperAppDlg.js
rename : toolkit/mozapps/extensions/amContentHandler.jsm => toolkit/mozapps/extensions/amContentHandler.js
rename : toolkit/mozapps/extensions/amInstallTrigger.jsm => toolkit/mozapps/extensions/amInstallTrigger.js
rename : toolkit/mozapps/extensions/amWebAPI.jsm => toolkit/mozapps/extensions/amWebAPI.js
rename : toolkit/mozapps/handling/ContentDispatchChooser.jsm => toolkit/mozapps/handling/nsContentDispatchChooser.js
rename : toolkit/mozapps/update/UpdateService.jsm => toolkit/mozapps/update/nsUpdateService.js
rename : toolkit/mozapps/update/UpdateServiceStub.jsm => toolkit/mozapps/update/nsUpdateServiceStub.js
rename : uriloader/exthandler/WebHandlerApp.jsm => uriloader/exthandler/nsWebHandlerApp.js
This commit is contained in:
Csoregi Natalia 2019-02-14 11:50:23 +02:00
Родитель 05a64f2314
Коммит ecd94d6986
490 изменённых файлов: 3986 добавлений и 4045 удалений

Просмотреть файл

@ -1738,7 +1738,7 @@ var gBrowserInit = {
* The functions scheduled here will fire from idle callbacks
* once every window has finished being restored by session
* restore, and after the equivalent only-once tasks
* have run (from _scheduleStartupIdleTasks in BrowserGlue.jsm).
* have run (from _scheduleStartupIdleTasks in nsBrowserGlue.js).
*/
_schedulePerWindowIdleTasks() {
// Bail out if the window has been closed in the meantime.

Просмотреть файл

@ -24,19 +24,22 @@ const startupPhases = {
// Anything loaded during app-startup must have a compelling reason
// to run before we have even selected the user profile.
// Consider loading your code after first paint instead,
// eg. from BrowserGlue.jsm' _onFirstWindowLoaded method).
// eg. from nsBrowserGlue.js' _onFirstWindowLoaded method).
"before profile selection": {whitelist: {
components: new Set([
"nsBrowserGlue.js",
"MainProcessSingleton.js",
// Bugs to fix: The following components shouldn't be initialized that early.
"PushComponents.js", // bug 1369436
]),
modules: new Set([
"resource:///modules/BrowserGlue.jsm",
"resource://gre/modules/AppConstants.jsm",
"resource://gre/modules/ActorManagerParent.jsm",
"resource://gre/modules/CustomElementsListener.jsm",
"resource://gre/modules/ExtensionUtils.jsm",
"resource://gre/modules/MainProcessSingleton.jsm",
"resource://gre/modules/XPCOMUtils.jsm",
"resource://gre/modules/Services.jsm",
// Bugs to fix: The following components shouldn't be initialized that early.
"resource://gre/modules/PushComponents.jsm", // bug 1369436
]),
}},

Просмотреть файл

@ -18,13 +18,14 @@
const kDumpAllStacks = false;
const whitelist = {
components: new Set([
"ContentProcessSingleton.js",
]),
modules: new Set([
"chrome://mochikit/content/ShutdownLeaksCollector.jsm",
"resource://specialpowers/specialpowers.js",
"resource://specialpowers/specialpowersAPI.js",
"resource://gre/modules/ContentProcessSingleton.jsm",
// General utilities
"resource://gre/modules/AppConstants.jsm",
"resource://gre/modules/AsyncShutdown.jsm",
@ -99,8 +100,10 @@ const whitelist = {
// required, as opposed to items in the main whitelist,
// which are all required.
const intermittently_loaded_whitelist = {
components: new Set([
"nsAsyncShutdown.js",
]),
modules: new Set([
"resource://gre/modules/nsAsyncShutdown.jsm",
"resource://gre/modules/sessionstore/Utils.jsm",
]),
frameScripts: new Set([]),

Просмотреть файл

@ -643,10 +643,6 @@ add_task(async function checkAllTheFiles() {
// Wait for all manifest to be parsed
await throttledMapPromises(manifestURIs, parseManifest);
for (let jsm of Components.manager.getComponentJSMs()) {
gReferencesFromCode.set(jsm, null);
}
// manifest.json is a common name, it is used for WebExtension manifests
// but also for other things. To tell them apart, we have to actually
// read the contents. This will populate gExtensionRoots with all

Просмотреть файл

@ -1,3 +1,28 @@
# nsBrowserContentHandler.js
component {5d0ce354-df01-421a-83fb-7ead0990c24e} nsBrowserContentHandler.js application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/browser/clh;1 {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
component {47cd0651-b1be-4a0f-b5c4-10e5a573ef71} nsBrowserContentHandler.js application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/browser/final-clh;1 {47cd0651-b1be-4a0f-b5c4-10e5a573ef71} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=text/html {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=application/vnd.mozilla.xul+xml {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=image/svg+xml {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=text/rdf {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=text/xml {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=application/xhtml+xml {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=text/css {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=text/plain {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=image/gif {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=image/jpeg {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=image/jpg {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=image/png {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=image/bmp {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=image/x-icon {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=image/vnd.microsoft.icon {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
contract @mozilla.org/uriloader/content-handler;1?type=application/http-index-format {5d0ce354-df01-421a-83fb-7ead0990c24e} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
category command-line-handler m-browser @mozilla.org/browser/clh;1 application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
category command-line-handler x-default @mozilla.org/browser/final-clh;1 application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
category command-line-validator b-browser @mozilla.org/browser/clh;1 application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
# nsBrowserGlue.js
# This component must restrict its registration for the app-startup category
@ -7,4 +32,12 @@
# browser: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
# mobile/android: {aa3c5121-dab2-40e2-81ca-7ea25febc110}
component {eab9012e-5f74-4cbc-b2b5-a590235513cc} nsBrowserGlue.js
contract @mozilla.org/browser/browserglue;1 {eab9012e-5f74-4cbc-b2b5-a590235513cc}
category app-startup nsBrowserGlue service,@mozilla.org/browser/browserglue;1 application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110}
component {d8903bf6-68d5-4e97-bcd1-e4d3012f721a} nsBrowserGlue.js
contract @mozilla.org/content-permission/prompt;1 {d8903bf6-68d5-4e97-bcd1-e4d3012f721a}
# RegisterProtocolHandler support
component {efbd7b87-9b15-4684-abf0-dc2679daadb1} WebProtocolHandlerRegistrar.js process=main
contract @mozilla.org/embeddor.implemented/web-protocol-handler-registrar;1 {efbd7b87-9b15-4684-abf0-dc2679daadb1} process=main

Просмотреть файл

@ -1,40 +0,0 @@
# -*- 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/.
pages = [
'blocked',
'certerror',
'config',
'downloads',
'home',
'library',
'newinstall',
'newtab',
'pocket-saved',
'pocket-signup',
'policies',
'preferences',
'privatebrowsing',
'reader',
'restartrequired',
'rights',
'robots',
'searchreset',
'sessionrestore',
'tabcrashed',
'welcome',
'welcomeback',
]
Classes = [
{
'cid': '{7e4bb6ad-2fc4-4dc6-89ef-23e8e5ccf980}',
'contract_ids': ['@mozilla.org/network/protocol/about;1?what=%s' % page
for page in pages],
'legacy_constructor': 'mozilla::browser::AboutRedirector::Create',
'headers': ['/browser/components/about/AboutRedirector.h'],
},
]

Просмотреть файл

@ -17,10 +17,6 @@ SOURCES += [
'AboutRedirector.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
EXTRA_JS_MODULES.aboutpages = [
'AboutPrivateBrowsingHandler.jsm',
]

Просмотреть файл

@ -1,67 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{6deb193c-f87d-4078-bc78-5e64655b4d62}',
'contract_ids': ['@mozilla.org/browser/directory-provider;1'],
'type': 'mozilla::browser::DirectoryProvider',
'headers': ['mozilla/browser/DirectoryProvider.h'],
'categories': {'xpcom-directory-providers': 'browser-directory-provider'},
},
]
TOOLKIT = buildconfig.substs['MOZ_WIDGET_TOOLKIT']
shell_service_contracts = [
'@mozilla.org/browser/shell-service;1',
'@mozilla.org/toolkit/shell-service;1',
]
if TOOLKIT == 'gtk3':
Classes += [
{
'cid': '{63c7b9f4-0cc8-43f8-b666-0a661655cb73}',
'contract_ids': shell_service_contracts,
'type': 'nsGNOMEShellService',
'headers': ['/browser/components/shell/nsGNOMEShellService.h'],
'init_method': 'Init',
},
]
elif TOOLKIT == 'cocoa':
Classes += [
{
'cid': '{6fc66a78-6cbc-4b3f-b7ba-379289b29276}',
'contract_ids': ['@mozilla.org/mac-attribution;1'],
'type': 'nsMacAttributionService',
'headers': ['nsMacAttribution.h'],
},
]
if buildconfig.substs['OS_ARCH'] == 'Darwin':
Classes += [
{
'cid': '{63c7b9f4-0cc8-43f8-b666-0a661655cb73}',
'contract_ids': shell_service_contracts,
'type': 'nsMacShellService',
'headers': ['/browser/components/shell/nsMacShellService.h'],
},
]
elif buildconfig.substs['OS_ARCH'] == 'WINNT':
Classes += [
{
'cid': '{63c7b9f4-0cc8-43f8-b666-0a661655cb73}',
'contract_ids': shell_service_contracts,
'type': 'nsWindowsShellService',
'headers': ['/browser/components/shell/nsWindowsShellService.h'],
},
{
'cid': '{93480624-806e-4756-b7cb-0fb7dd746a8f}',
'contract_ids': ['@mozilla.org/profile/migrator/iehistoryenumerator;1'],
'type': 'nsIEHistoryEnumerator',
'headers': ['/browser/components/migration/nsIEHistoryEnumerator.h'],
},
]

Просмотреть файл

@ -7,8 +7,12 @@
with Files("**"):
BUG_COMPONENT = ("Firefox Build System", "General")
XPCOM_MANIFESTS += [
'components.conf',
EXPORTS += [
'nsBrowserCompsCID.h',
]
SOURCES += [
'nsModule.cpp',
]
Library('browsercomps')

Просмотреть файл

@ -40,6 +40,14 @@
} \
}
// 7e4bb6ad-2fc4-4dc6-89ef-23e8e5ccf980
#define NS_BROWSER_ABOUT_REDIRECTOR_CID \
{ \
0x7e4bb6ad, 0x2fc4, 0x4dc6, { \
0x89, 0xef, 0x23, 0xe8, 0xe5, 0xcc, 0xf9, 0x80 \
} \
}
// {6DEB193C-F87D-4078-BC78-5E64655B4D62}
#define NS_BROWSERDIRECTORYPROVIDER_CID \
{ \
@ -47,3 +55,14 @@
0xbc, 0x78, 0x5e, 0x64, 0x65, 0x5b, 0x4d, 0x62 \
} \
}
#if defined(MOZ_WIDGET_COCOA)
# define NS_MACATTRIBUTIONSERVICE_CONTRACTID "@mozilla.org/mac-attribution;1"
# define NS_MACATTRIBUTIONSERVICE_CID \
{ \
0x6FC66A78, 0x6CBC, 0x4B3F, { \
0xB7, 0xBA, 0x37, 0x92, 0x89, 0xB2, 0x92, 0x76 \
} \
}
#endif

Просмотреть файл

@ -0,0 +1,135 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/. */
#include "mozilla/ModuleUtils.h"
#include "nsBrowserCompsCID.h"
#include "DirectoryProvider.h"
#if defined(XP_WIN)
# include "nsWindowsShellService.h"
#elif defined(XP_MACOSX)
# include "nsMacShellService.h"
#elif defined(MOZ_WIDGET_GTK)
# include "nsGNOMEShellService.h"
#endif
#include "nsIToolkitShellService.h"
#if defined(MOZ_WIDGET_COCOA)
# include "nsMacAttribution.h"
#endif
#if defined(XP_WIN)
# include "nsIEHistoryEnumerator.h"
#endif
#include "AboutRedirector.h"
#include "nsIAboutModule.h"
#include "nsNetCID.h"
using namespace mozilla::browser;
/////////////////////////////////////////////////////////////////////////////
NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider)
#if defined(XP_WIN)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindowsShellService)
#elif defined(XP_MACOSX)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacShellService)
#elif defined(MOZ_WIDGET_GTK)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
#endif
#if defined(MOZ_WIDGET_COCOA)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacAttributionService)
#endif
#if defined(XP_WIN)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
#endif
NS_DEFINE_NAMED_CID(NS_BROWSERDIRECTORYPROVIDER_CID);
#if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) || defined(XP_MACOSX)
NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
#endif
NS_DEFINE_NAMED_CID(NS_BROWSER_ABOUT_REDIRECTOR_CID);
#if defined(XP_WIN)
NS_DEFINE_NAMED_CID(NS_WINIEHISTORYENUMERATOR_CID);
#endif
#if defined(MOZ_WIDGET_COCOA)
NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSERVICE_CID);
#endif
static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
// clang-format off
{ &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
#if defined(XP_WIN)
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor },
#elif defined(MOZ_WIDGET_GTK)
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor },
#elif defined(XP_MACOSX)
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
#endif
{ &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
#if defined(XP_WIN)
{ &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
#endif
#if defined(MOZ_WIDGET_COCOA)
{ &kNS_MACATTRIBUTIONSERVICE_CID, false, nullptr, nsMacAttributionServiceConstructor },
#endif
{ nullptr }
// clang-format on
};
static const mozilla::Module::ContractIDEntry kBrowserContracts[] = {
// clang-format off
{ NS_BROWSERDIRECTORYPROVIDER_CONTRACTID, &kNS_BROWSERDIRECTORYPROVIDER_CID },
#if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) || defined(XP_MACOSX)
{ NS_SHELLSERVICE_CONTRACTID, &kNS_SHELLSERVICE_CID },
{ NS_TOOLKITSHELLSERVICE_CONTRACTID, &kNS_SHELLSERVICE_CID },
#endif
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "blocked", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "certerror", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "config", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "tabcrashed", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "privatebrowsing", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "rights", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "robots", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "searchreset", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "sessionrestore", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "welcomeback", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "home", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "newtab", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "library", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "preferences", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "downloads", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "reader", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "restartrequired", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "welcome", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "policies", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "pocket-saved", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "pocket-signup", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
{ NS_ABOUT_MODULE_CONTRACTID_PREFIX "newinstall", &kNS_BROWSER_ABOUT_REDIRECTOR_CID },
#if defined(XP_WIN)
{ NS_IEHISTORYENUMERATOR_CONTRACTID, &kNS_WINIEHISTORYENUMERATOR_CID },
#endif
#if defined(MOZ_WIDGET_COCOA)
{ NS_MACATTRIBUTIONSERVICE_CONTRACTID, &kNS_MACATTRIBUTIONSERVICE_CID },
#endif
{ nullptr }
// clang-format on
};
static const mozilla::Module::CategoryEntry kBrowserCategories[] = {
{XPCOM_DIRECTORY_PROVIDER_CATEGORY, "browser-directory-provider",
NS_BROWSERDIRECTORYPROVIDER_CONTRACTID},
{nullptr}};
static const mozilla::Module kBrowserModule = {mozilla::Module::kVersion,
kBrowserCIDs, kBrowserContracts,
kBrowserCategories};
NSMODULE_DEFN(nsBrowserCompsModule) = &kBrowserModule;

Просмотреть файл

@ -1,55 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{5d0ce354-df01-421a-83fb-7ead0990c24e}',
'contract_ids': [
'@mozilla.org/browser/clh;1',
'@mozilla.org/uriloader/content-handler;1?type=application/http-index-format',
'@mozilla.org/uriloader/content-handler;1?type=application/vnd.mozilla.xul+xml',
'@mozilla.org/uriloader/content-handler;1?type=application/xhtml+xml',
'@mozilla.org/uriloader/content-handler;1?type=image/bmp',
'@mozilla.org/uriloader/content-handler;1?type=image/gif',
'@mozilla.org/uriloader/content-handler;1?type=image/jpeg',
'@mozilla.org/uriloader/content-handler;1?type=image/jpg',
'@mozilla.org/uriloader/content-handler;1?type=image/png',
'@mozilla.org/uriloader/content-handler;1?type=image/svg+xml',
'@mozilla.org/uriloader/content-handler;1?type=image/vnd.microsoft.icon',
'@mozilla.org/uriloader/content-handler;1?type=image/x-icon',
'@mozilla.org/uriloader/content-handler;1?type=text/css',
'@mozilla.org/uriloader/content-handler;1?type=text/html',
'@mozilla.org/uriloader/content-handler;1?type=text/plain',
'@mozilla.org/uriloader/content-handler;1?type=text/rdf',
'@mozilla.org/uriloader/content-handler;1?type=text/xml',
],
'jsm': 'resource:///modules/BrowserContentHandler.jsm',
'constructor': 'nsBrowserContentHandler',
'categories': {
'command-line-handler': 'm-browser',
'command-line-validator': 'b-browser',
},
},
{
'cid': '{47cd0651-b1be-4a0f-b5c4-10e5a573ef71}',
'contract_ids': ['@mozilla.org/browser/final-clh;1'],
'jsm': 'resource:///modules/BrowserContentHandler.jsm',
'constructor': 'nsDefaultCommandLineHandler',
'categories': {'command-line-handler': 'x-default'},
},
{
'cid': '{eab9012e-5f74-4cbc-b2b5-a590235513cc}',
'contract_ids': ['@mozilla.org/browser/browserglue;1'],
'jsm': 'resource:///modules/BrowserGlue.jsm',
'constructor': 'BrowserGlue',
},
{
'cid': '{d8903bf6-68d5-4e97-bcd1-e4d3012f721a}',
'contract_ids': ['@mozilla.org/content-permission/prompt;1'],
'jsm': 'resource:///modules/BrowserGlue.jsm',
'constructor': 'ContentPermissionPrompt',
},
]

Просмотреть файл

@ -321,4 +321,4 @@ Qihoo360seProfileMigrator.prototype.classDescription = "360 Secure Browser Profi
Qihoo360seProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=360se";
Qihoo360seProfileMigrator.prototype.classID = Components.ID("{d0037b95-296a-4a4e-94b2-c3d075d20ab1}");
var EXPORTED_SYMBOLS = ["Qihoo360seProfileMigrator"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([Qihoo360seProfileMigrator]);

Просмотреть файл

@ -0,0 +1,38 @@
component {6F8BB968-C14F-4D6F-9733-6C6737B35DCE} ProfileMigrator.js
contract @mozilla.org/toolkit/profile-migrator;1 {6F8BB968-C14F-4D6F-9733-6C6737B35DCE}
#if defined(XP_WIN) || defined(XP_MACOSX)
component {4bf85aa5-4e21-46ca-825f-f9c51a5e8c76} ChromeProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=canary {4bf85aa5-4e21-46ca-825f-f9c51a5e8c76}
#else
component {47f75963-840b-4950-a1f0-d9c1864f8b8e} ChromeProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=chrome-beta {47f75963-840b-4950-a1f0-d9c1864f8b8e}
component {7370a02a-4886-42c3-a4ec-d48c726ec30a} ChromeProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=chrome-dev {7370a02a-4886-42c3-a4ec-d48c726ec30a}
#endif
component {4cec1de4-1671-4fc3-a53e-6c539dc77a26} ChromeProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=chrome {4cec1de4-1671-4fc3-a53e-6c539dc77a26}
component {8cece922-9720-42de-b7db-7cef88cb07ca} ChromeProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=chromium {8cece922-9720-42de-b7db-7cef88cb07ca}
component {91185366-ba97-4438-acba-48deaca63386} FirefoxProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=firefox {91185366-ba97-4438-acba-48deaca63386}
#ifdef HAS_IE_MIGRATOR
component {3d2532e3-4932-4774-b7ba-968f5899d3a4} IEProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=ie {3d2532e3-4932-4774-b7ba-968f5899d3a4}
#endif
#ifdef HAS_EDGE_MIGRATOR
component {62e8834b-2d17-49f5-96ff-56344903a2ae} EdgeProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=edge {62e8834b-2d17-49f5-96ff-56344903a2ae}
#endif
#ifdef HAS_SAFARI_MIGRATOR
component {4b609ecf-60b2-4655-9df4-dc149e474da1} SafariProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=safari {4b609ecf-60b2-4655-9df4-dc149e474da1}
#endif
#ifdef HAS_360SE_MIGRATOR
component {d0037b95-296a-4a4e-94b2-c3d075d20ab1} 360seProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=360se {d0037b95-296a-4a4e-94b2-c3d075d20ab1}
#endif

Просмотреть файл

@ -16,6 +16,7 @@ const {AppConstants} = ChromeUtils.import("resource://gre/modules/AppConstants.j
const {NetUtil} = ChromeUtils.import("resource://gre/modules/NetUtil.jsm");
const {OS} = ChromeUtils.import("resource://gre/modules/osfile.jsm");
const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const {ChromeMigrationUtils} = ChromeUtils.import("resource:///modules/ChromeMigrationUtils.jsm");
const {MigrationUtils, MigratorPrototype} = ChromeUtils.import("resource:///modules/MigrationUtils.jsm");
@ -431,7 +432,7 @@ ChromiumProfileMigrator.prototype.classDescription = "Chromium Profile Migrator"
ChromiumProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=chromium";
ChromiumProfileMigrator.prototype.classID = Components.ID("{8cece922-9720-42de-b7db-7cef88cb07ca}");
var EXPORTED_SYMBOLS = ["ChromeProfileMigrator", "ChromiumProfileMigrator"];
var componentsArray = [ChromeProfileMigrator, ChromiumProfileMigrator];
/**
* Chrome Canary
@ -446,7 +447,7 @@ CanaryProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?ap
CanaryProfileMigrator.prototype.classID = Components.ID("{4bf85aa5-4e21-46ca-825f-f9c51a5e8c76}");
if (AppConstants.platform == "win" || AppConstants.platform == "macosx") {
EXPORTED_SYMBOLS.push("CanaryProfileMigrator");
componentsArray.push(CanaryProfileMigrator);
}
/**
@ -469,5 +470,7 @@ if (AppConstants.platform != "win" && AppConstants.platform != "macosx") {
ChromeBetaMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=chrome-beta";
ChromeBetaMigrator.prototype.classID = Components.ID("{47f75963-840b-4950-a1f0-d9c1864f8b8e}");
EXPORTED_SYMBOLS.push("ChromeDevMigrator", "ChromeBetaMigrator");
componentsArray.push(ChromeDevMigrator, ChromeBetaMigrator);
}
this.NSGetFactory = XPCOMUtils.generateNSGetFactory(componentsArray);

Просмотреть файл

@ -496,4 +496,4 @@ EdgeProfileMigrator.prototype.classDescription = "Edge Profile Migrator";
EdgeProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=edge";
EdgeProfileMigrator.prototype.classID = Components.ID("{62e8834b-2d17-49f5-96ff-56344903a2ae}");
var EXPORTED_SYMBOLS = ["EdgeProfileMigrator"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([EdgeProfileMigrator]);

Просмотреть файл

@ -13,6 +13,7 @@
* from the source profile.
*/
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const {MigrationUtils, MigratorPrototype} = ChromeUtils.import("resource:///modules/MigrationUtils.jsm");
const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
@ -275,4 +276,4 @@ FirefoxProfileMigrator.prototype.classDescription = "Firefox Profile Migrator";
FirefoxProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=firefox";
FirefoxProfileMigrator.prototype.classID = Components.ID("{91185366-ba97-4438-acba-48deaca63386}");
var EXPORTED_SYMBOLS = ["FirefoxProfileMigrator"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([FirefoxProfileMigrator]);

Просмотреть файл

@ -356,4 +356,4 @@ IEProfileMigrator.prototype.classDescription = "IE Profile Migrator";
IEProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=ie";
IEProfileMigrator.prototype.classID = Components.ID("{3d2532e3-4932-4774-b7ba-968f5899d3a4}");
var EXPORTED_SYMBOLS = ["IEProfileMigrator"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([IEProfileMigrator]);

Просмотреть файл

@ -4,6 +4,7 @@
"use strict";
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const {MigrationUtils} = ChromeUtils.import("resource:///modules/MigrationUtils.jsm");
function ProfileMigrator() {
@ -17,4 +18,4 @@ ProfileMigrator.prototype = {
classID: Components.ID("6F8BB968-C14F-4D6F-9733-6C6737B35DCE"),
};
var EXPORTED_SYMBOLS = ["ProfileMigrator"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([ProfileMigrator]);

Просмотреть файл

@ -382,4 +382,4 @@ SafariProfileMigrator.prototype.classDescription = "Safari Profile Migrator";
SafariProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=safari";
SafariProfileMigrator.prototype.classID = Components.ID("{4b609ecf-60b2-4655-9df4-dc149e474da1}");
var EXPORTED_SYMBOLS = ["SafariProfileMigrator"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([SafariProfileMigrator]);

Просмотреть файл

@ -1,92 +0,0 @@
# -*- 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/.
XP_WIN = buildconfig.substs['OS_ARCH'] == 'WINNT'
XP_MACOSX = buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'cocoa'
Classes = [
{
'cid': '{6F8BB968-C14F-4D6F-9733-6C6737B35DCE}',
'contract_ids': ['@mozilla.org/toolkit/profile-migrator;1'],
'jsm': 'resource:///modules/ProfileMigrator.jsm',
'constructor': 'ProfileMigrator',
},
{
'cid': '{4cec1de4-1671-4fc3-a53e-6c539dc77a26}',
'contract_ids': ['@mozilla.org/profile/migrator;1?app=browser&type=chrome'],
'jsm': 'resource:///modules/ChromeProfileMigrator.jsm',
'constructor': 'ChromeProfileMigrator',
},
{
'cid': '{8cece922-9720-42de-b7db-7cef88cb07ca}',
'contract_ids': ['@mozilla.org/profile/migrator;1?app=browser&type=chromium'],
'jsm': 'resource:///modules/ChromeProfileMigrator.jsm',
'constructor': 'ChromiumProfileMigrator',
},
{
'cid': '{91185366-ba97-4438-acba-48deaca63386}',
'contract_ids': ['@mozilla.org/profile/migrator;1?app=browser&type=firefox'],
'jsm': 'resource:///modules/FirefoxProfileMigrator.jsm',
'constructor': 'FirefoxProfileMigrator',
},
]
if XP_WIN or XP_MACOSX:
Classes += [
{
'cid': '{4bf85aa5-4e21-46ca-825f-f9c51a5e8c76}',
'contract_ids': ['@mozilla.org/profile/migrator;1?app=browser&type=canary'],
'jsm': 'resource:///modules/ChromeProfileMigrator.jsm',
'constructor': 'CanaryProfileMigrator',
},
]
else:
Classes += [
{
'cid': '{47f75963-840b-4950-a1f0-d9c1864f8b8e}',
'contract_ids': ['@mozilla.org/profile/migrator;1?app=browser&type=chrome-beta'],
'jsm': 'resource:///modules/ChromeProfileMigrator.jsm',
'constructor': ' ChromeBetaMigrator',
},
{
'cid': '{7370a02a-4886-42c3-a4ec-d48c726ec30a}',
'contract_ids': ['@mozilla.org/profile/migrator;1?app=browser&type=chrome-dev'],
'jsm': 'resource:///modules/ChromeProfileMigrator.jsm',
'constructor': ' ChromeDevMigrator',
},
]
if XP_WIN:
Classes += [
{
'cid': '{3d2532e3-4932-4774-b7ba-968f5899d3a4}',
'contract_ids': ['@mozilla.org/profile/migrator;1?app=browser&type=ie'],
'jsm': 'resource:///modules/IEProfileMigrator.jsm',
'constructor': 'IEProfileMigrator',
},
{
'cid': '{62e8834b-2d17-49f5-96ff-56344903a2ae}',
'contract_ids': ['@mozilla.org/profile/migrator;1?app=browser&type=edge'],
'jsm': 'resource:///modules/EdgeProfileMigrator.jsm',
'constructor': 'EdgeProfileMigrator',
},
{
'cid': '{d0037b95-296a-4a4e-94b2-c3d075d20ab1}',
'contract_ids': ['@mozilla.org/profile/migrator;1?app=browser&type=360se'],
'jsm': 'resource:///modules/360seProfileMigrator.jsm',
'constructor': 'Qihoo360seProfileMigrator',
},
]
if XP_MACOSX:
Classes += [
{
'cid': '{4b609ecf-60b2-4655-9df4-dc149e474da1}',
'contract_ids': ['@mozilla.org/profile/migrator;1?app=browser&type=safari'],
'jsm': 'resource:///modules/SafariProfileMigrator.jsm',
'constructor': 'SafariProfileMigrator',
},
]

Просмотреть файл

@ -16,34 +16,43 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'migration'
EXTRA_COMPONENTS += [
'ChromeProfileMigrator.js',
'FirefoxProfileMigrator.js',
'ProfileMigrator.js',
]
EXTRA_PP_COMPONENTS += [
'BrowserProfileMigrators.manifest',
]
EXTRA_JS_MODULES += [
'ChromeMigrationUtils.jsm',
'ChromeProfileMigrator.jsm',
'FirefoxProfileMigrator.jsm',
'MigrationUtils.jsm',
'ProfileMigrator.jsm',
]
if CONFIG['OS_ARCH'] == 'WINNT':
SOURCES += [
'nsIEHistoryEnumerator.cpp',
]
EXTRA_COMPONENTS += [
'360seProfileMigrator.js',
'EdgeProfileMigrator.js',
'IEProfileMigrator.js',
]
EXTRA_JS_MODULES += [
'360seProfileMigrator.jsm',
'EdgeProfileMigrator.jsm',
'ESEDBReader.jsm',
'IEProfileMigrator.jsm',
'MSMigrationUtils.jsm',
]
DEFINES['HAS_360SE_MIGRATOR'] = True
DEFINES['HAS_IE_MIGRATOR'] = True
DEFINES['HAS_EDGE_MIGRATOR'] = True
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
EXTRA_JS_MODULES += [
'SafariProfileMigrator.jsm',
]
XPCOM_MANIFESTS += [
'components.conf',
EXTRA_COMPONENTS += [
'SafariProfileMigrator.js',
]
DEFINES['HAS_SAFARI_MIGRATOR'] = True
FINAL_LIBRARY = 'browsercomps'

Просмотреть файл

@ -74,19 +74,15 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'browsercompsbase'
XPCOM_MANIFESTS += [
'components.conf',
]
EXTRA_COMPONENTS += [
'BrowserComponents.manifest',
'nsBrowserContentHandler.js',
'nsBrowserGlue.js',
'tests/startupRecorder.js',
'tests/testComponents.manifest',
]
EXTRA_JS_MODULES += [
'BrowserContentHandler.jsm',
'BrowserGlue.jsm',
'distribution.js',
]

Просмотреть файл

@ -0,0 +1,2 @@
component {dfcd2adc-7867-4d3a-ba70-17501f208142} aboutNewTabService.js
contract @mozilla.org/browser/aboutnewtab-service;1 {dfcd2adc-7867-4d3a-ba70-17501f208142}

Просмотреть файл

@ -361,4 +361,4 @@ AboutNewTabService.prototype = {
},
};
var EXPORTED_SYMBOLS = ["AboutNewTabService"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([AboutNewTabService]);

Просмотреть файл

@ -1,14 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{dfcd2adc-7867-4d3a-ba70-17501f208142}',
'contract_ids': ['@mozilla.org/browser/aboutnewtab-service;1'],
'jsm': 'resource:///modules/AboutNewTabService.jsm',
'constructor': 'AboutNewTabService',
},
]

Просмотреть файл

@ -19,12 +19,9 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'browser-newtab'
EXTRA_JS_MODULES += [
'AboutNewTabService.jsm',
]
XPCOM_MANIFESTS += [
'components.conf',
EXTRA_COMPONENTS += [
'aboutNewTabService.js',
'NewTabComponents.manifest',
]
JAR_MANIFESTS += ['jar.mn']

Просмотреть файл

@ -2,8 +2,6 @@
* 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/. */
var EXPORTED_SYMBOLS = ["nsBrowserContentHandler", "nsDefaultCommandLineHandler"];
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
const {AppConstants} = ChromeUtils.import("resource://gre/modules/AppConstants.jsm");
@ -180,7 +178,7 @@ function getPostUpdateOverridePage(defaultOverridePage) {
/**
* Open a browser window. If this is the initial launch, this function will
* attempt to use the navigator:blank window opened by BrowserGlue.jsm during
* attempt to use the navigator:blank window opened by nsBrowserGlue.js during
* early startup.
*
* @param cmdLine
@ -327,12 +325,18 @@ function doSearch(searchTerm, cmdLine) {
}
function nsBrowserContentHandler() {
if (!gBrowserContentHandler) {
gBrowserContentHandler = this;
}
return gBrowserContentHandler;
}
nsBrowserContentHandler.prototype = {
classID: Components.ID("{5d0ce354-df01-421a-83fb-7ead0990c24e}"),
_xpcom_factory: {
createInstance: function bch_factory_ci(outer, iid) {
if (outer)
throw Cr.NS_ERROR_NO_AGGREGATION;
return gBrowserContentHandler.QueryInterface(iid);
},
},
/* nsISupports */
QueryInterface: ChromeUtils.generateQI([Ci.nsICommandLineHandler,
Ci.nsIBrowserHandler,
@ -729,6 +733,8 @@ function nsDefaultCommandLineHandler() {
}
nsDefaultCommandLineHandler.prototype = {
classID: Components.ID("{47cd0651-b1be-4a0f-b5c4-10e5a573ef71}"),
/* nsISupports */
QueryInterface: ChromeUtils.generateQI(["nsICommandLineHandler"]),
@ -830,3 +836,6 @@ nsDefaultCommandLineHandler.prototype = {
helpInfo: "",
};
var components = [nsBrowserContentHandler, nsDefaultCommandLineHandler];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory(components);

Просмотреть файл

@ -2,8 +2,6 @@
* 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/. */
var EXPORTED_SYMBOLS = ["BrowserGlue", "ContentPermissionPrompt"];
const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
@ -367,7 +365,10 @@ let ACTORS = {
TelemetryTimestamps.add("blankWindowShown");
})();
XPCOMUtils.defineLazyGlobalGetters(this, ["fetch"]);
XPCOMUtils.defineLazyServiceGetters(this, {
WindowsUIUtils: ["@mozilla.org/windows-ui-utils;1", "nsIWindowsUIUtils"],
aboutNewTabService: ["@mozilla.org/browser/aboutnewtab-service;1", "nsIAboutNewTabService"],
});
XPCOMUtils.defineLazyGetter(this, "WeaveService", () =>
@ -380,6 +381,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
AboutPrivateBrowsingHandler: "resource:///modules/aboutpages/AboutPrivateBrowsingHandler.jsm",
AddonManager: "resource://gre/modules/AddonManager.jsm",
AppMenuNotifications: "resource://gre/modules/AppMenuNotifications.jsm",
AsyncPrefs: "resource://gre/modules/AsyncPrefs.jsm",
AsyncShutdown: "resource://gre/modules/AsyncShutdown.jsm",
AutoCompletePopup: "resource://gre/modules/AutoCompletePopup.jsm",
Blocklist: "resource://gre/modules/Blocklist.jsm",
@ -387,11 +389,14 @@ XPCOMUtils.defineLazyModuleGetters(this, {
BookmarkJSONUtils: "resource://gre/modules/BookmarkJSONUtils.jsm",
BrowserUsageTelemetry: "resource:///modules/BrowserUsageTelemetry.jsm",
BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm",
ContentClick: "resource:///modules/ContentClick.jsm",
ContextualIdentityService: "resource://gre/modules/ContextualIdentityService.jsm",
CustomizableUI: "resource:///modules/CustomizableUI.jsm",
DateTimePickerParent: "resource://gre/modules/DateTimePickerParent.jsm",
Discovery: "resource:///modules/Discovery.jsm",
ExtensionsUI: "resource:///modules/ExtensionsUI.jsm",
FileSource: "resource://gre/modules/L10nRegistry.jsm",
FormValidationHandler: "resource:///modules/FormValidationHandler.jsm",
FxAccounts: "resource://gre/modules/FxAccounts.jsm",
HomePage: "resource:///modules/HomePage.jsm",
HybridContentTelemetry: "resource://gre/modules/HybridContentTelemetry.jsm",
@ -400,6 +405,8 @@ XPCOMUtils.defineLazyModuleGetters(this, {
LanguagePrompt: "resource://gre/modules/LanguagePrompt.jsm",
LightweightThemeManager: "resource://gre/modules/LightweightThemeManager.jsm",
LiveBookmarkMigrator: "resource:///modules/LiveBookmarkMigrator.jsm",
LoginHelper: "resource://gre/modules/LoginHelper.jsm",
LoginManagerParent: "resource://gre/modules/LoginManagerParent.jsm",
NewTabUtils: "resource://gre/modules/NewTabUtils.jsm",
Normandy: "resource://normandy/Normandy.jsm",
ObjectUtils: "resource://gre/modules/ObjectUtils.jsm",
@ -408,12 +415,15 @@ XPCOMUtils.defineLazyModuleGetters(this, {
PageThumbs: "resource://gre/modules/PageThumbs.jsm",
PdfJs: "resource://pdf.js/PdfJs.jsm",
PermissionUI: "resource:///modules/PermissionUI.jsm",
PictureInPicture: "resource://gre/modules/PictureInPicture.jsm",
PingCentre: "resource:///modules/PingCentre.jsm",
PlacesBackups: "resource://gre/modules/PlacesBackups.jsm",
PlacesUtils: "resource://gre/modules/PlacesUtils.jsm",
PluralForm: "resource://gre/modules/PluralForm.jsm",
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.jsm",
ProcessHangMonitor: "resource:///modules/ProcessHangMonitor.jsm",
ReaderParent: "resource:///modules/ReaderParent.jsm",
RemotePrompt: "resource:///modules/RemotePrompt.jsm",
RemoteSettings: "resource://services-settings/remote-settings.js",
SafeBrowsing: "resource://gre/modules/SafeBrowsing.jsm",
Sanitizer: "resource:///modules/Sanitizer.jsm",
@ -429,17 +439,6 @@ XPCOMUtils.defineLazyModuleGetters(this, {
WindowsRegistry: "resource://gre/modules/WindowsRegistry.jsm",
});
// eslint-disable-next-line no-unused-vars
XPCOMUtils.defineLazyModuleGetters(this, {
AsyncPrefs: "resource://gre/modules/AsyncPrefs.jsm",
ContentClick: "resource:///modules/ContentClick.jsm",
FormValidationHandler: "resource:///modules/FormValidationHandler.jsm",
LoginManagerParent: "resource://gre/modules/LoginManagerParent.jsm",
PictureInPicture: "resource://gre/modules/PictureInPicture.jsm",
ReaderParent: "resource:///modules/ReaderParent.jsm",
RemotePrompt: "resource:///modules/RemotePrompt.jsm",
});
/* global ContentPrefServiceParent:false, ContentSearch:false,
UpdateListener:false, webrtcUI:false */
@ -467,6 +466,7 @@ if (AppConstants.MOZ_CRASHREPORTER) {
XPCOMUtils.defineLazyModuleGetters(this, {
PluginCrashReporter: "resource:///modules/ContentCrashHandlers.jsm",
UnsubmittedCrashHandler: "resource:///modules/ContentCrashHandlers.jsm",
CrashSubmit: "resource://gre/modules/CrashSubmit.jsm",
});
}
@ -2985,8 +2985,13 @@ BrowserGlue.prototype = {
}
},
// for XPCOM
classID: Components.ID("{eab9012e-5f74-4cbc-b2b5-a590235513cc}"),
QueryInterface: ChromeUtils.generateQI([Ci.nsIObserver,
Ci.nsISupportsWeakReference]),
_xpcom_factory: XPCOMUtils.generateSingletonFactory(BrowserGlue),
};
var ContentBlockingCategoriesPrefs = {
@ -3484,6 +3489,9 @@ var JawsScreenReaderVersionCheck = {
},
};
var components = [BrowserGlue, ContentPermissionPrompt];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory(components);
// Listen for UITour messages.
// Do it here instead of the UITour module itself so that the UITour module is lazy loaded
// when the first message is received.

Просмотреть файл

@ -1,14 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{01f8bd55-9017-438b-85ec-7c15d2b35cdc}',
'contract_ids': ['@mozilla.org/dom/payments/payment-ui-service;1'],
'jsm': 'resource:///modules/PaymentUIService.jsm',
'constructor': 'PaymentUIService',
},
]

Просмотреть файл

@ -9,12 +9,9 @@ BROWSER_CHROME_MANIFESTS += ['test/browser/browser.ini']
with Files('**'):
BUG_COMPONENT = ('Firefox', 'WebPayments UI')
EXTRA_JS_MODULES += [
'PaymentUIService.jsm',
]
XPCOM_MANIFESTS += [
'components.conf',
EXTRA_COMPONENTS += [
'payments.manifest',
'paymentUIService.js',
]
JAR_MANIFESTS += ['jar.mn']

Просмотреть файл

@ -301,4 +301,4 @@ PaymentUIService.prototype = {
},
};
var EXPORTED_SYMBOLS = ["PaymentUIService"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([PaymentUIService]);

Просмотреть файл

@ -0,0 +1,2 @@
component {01f8bd55-9017-438b-85ec-7c15d2b35cdc} paymentUIService.js
contract @mozilla.org/dom/payments/payment-ui-service;1 {01f8bd55-9017-438b-85ec-7c15d2b35cdc}

Просмотреть файл

@ -14,6 +14,8 @@ const mockUpdateManager = {
_originalClassId: "",
_originalFactory: null,
QueryInterface: ChromeUtils.generateQI([Ci.nsIUpdateManager]),
createInstance(outer, iiD) {
@ -27,6 +29,8 @@ const mockUpdateManager = {
let registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar);
if (!registrar.isCIDRegistered(this._mockClassId)) {
this._originalClassId = registrar.contractIDToCID(this.contractId);
this._originalFactory = Cm.getClassObject(Cc[this.contractId], Ci.nsIFactory);
registrar.unregisterFactory(this._originalClassId, this._originalFactory);
registrar.registerFactory(this._mockClassId, "Unregister after testing", this.contractId, this);
}
},
@ -34,7 +38,7 @@ const mockUpdateManager = {
unregister() {
let registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar);
registrar.unregisterFactory(this._mockClassId, this);
registrar.registerFactory(this._originalClassId, "", this.contractId, null);
registrar.registerFactory(this._originalClassId, "", this.contractId, this._originalFactory);
},
get updateCount() {

Просмотреть файл

@ -3,9 +3,8 @@
* 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/. */
var EXPORTED_SYMBOLS = ["WebProtocolHandlerRegistrar"];
const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const STRING_BUNDLE_URI = "chrome://browser/locale/feeds/subscribe.properties";
@ -147,8 +146,13 @@ WebProtocolHandlerRegistrar.prototype = {
[addButton]);
},
classID: Components.ID("{efbd7b87-9b15-4684-abf0-dc2679daadb1}"),
/**
* See nsISupports
*/
QueryInterface: ChromeUtils.generateQI([Ci.nsIWebProtocolHandlerRegistrar]),
};
this.NSGetFactory =
XPCOMUtils.generateNSGetFactory([WebProtocolHandlerRegistrar]);

Просмотреть файл

@ -1,15 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{efbd7b87-9b15-4684-abf0-dc2679daadb1}',
'contract_ids': ['@mozilla.org/embeddor.implemented/web-protocol-handler-registrar;1'],
'jsm': 'resource:///modules/WebProtocolHandlerRegistrar.jsm',
'constructor': 'WebProtocolHandlerRegistrar',
'processes': ProcessSelector.MAIN_PROCESS_ONLY,
},
]

Просмотреть файл

@ -7,12 +7,8 @@
MOCHITEST_MANIFESTS += ['test/mochitest.ini']
BROWSER_CHROME_MANIFESTS += ['test/browser/browser.ini']
EXTRA_JS_MODULES += [
'WebProtocolHandlerRegistrar.jsm',
]
XPCOM_MANIFESTS += [
'components.conf',
EXTRA_COMPONENTS += [
'WebProtocolHandlerRegistrar.js',
]
with Files('**'):

Просмотреть файл

@ -21,6 +21,7 @@
#include "nsShellService.h"
#include "nsIProcess.h"
#include "nsICategoryManager.h"
#include "nsBrowserCompsCID.h"
#include "nsDirectoryServiceUtils.h"
#include "nsAppDirectoryServiceDefs.h"
#include "nsDirectoryServiceDefs.h"

Просмотреть файл

@ -265,7 +265,7 @@ function testDefaultArgs() {
testShowNotification();
}
// BrowserGlue.jsm _showUpdateNotification notification tests
// nsBrowserGlue.js _showUpdateNotification notification tests
const BG_NOTIFY_TESTS = [
{
description: "'silent showNotification' actions should not display a notification",
@ -292,7 +292,7 @@ const BG_NOTIFY_TESTS = [
];
// Test showing a notification after an update
// _showUpdateNotification in BrowserGlue.jsm
// _showUpdateNotification in nsBrowserGlue.js
function testShowNotification() {
// Catches any windows opened by these tests (e.g. alert windows) and closes
// them

Просмотреть файл

@ -79,7 +79,7 @@ startupRecorder.prototype = {
if (topic == "app-startup") {
// We can't ensure our observer will be called first or last, so the list of
// topics we observe here should avoid the topics used to trigger things
// during startup (eg. the topics observed by BrowserGlue.jsm).
// during startup (eg. the topics observed by nsBrowserGlue.js).
let topics = [
"profile-do-change", // This catches stuff loaded during app-startup
"toplevel-window-ready", // Catches stuff from final-ui-startup

Просмотреть файл

@ -1,17 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{d0c5195d-e798-49d4-b1d3-9324328b2291}',
'contract_ids': [
'@mozilla.org/streamconv;1?from=application/pdf&to=*/*',
'@mozilla.org/streamconv;1?from=application/pdf&to=text/html',
],
'jsm': 'resource:///modules/pdfjs.js',
'constructor': 'StreamConverterFactory',
},
]

Просмотреть файл

@ -109,7 +109,7 @@ var PdfJs = {
earlyInit() {
// Note: Please keep this in sync with the duplicated logic in
// BrowserGlue.jsm.
// nsBrowserGlue.js.
Services.ppmm.sharedData.set("pdfjs.enabled", this.checkEnabled());
},

Просмотреть файл

@ -11,10 +11,7 @@ BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
JAR_MANIFESTS += ['jar.mn']
EXTRA_JS_MODULES += [
EXTRA_COMPONENTS += [
'pdfjs.js',
]
XPCOM_MANIFESTS += [
'components.conf',
'pdfjs.manifest',
]

Просмотреть файл

@ -16,6 +16,7 @@
"use strict";
const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
ChromeUtils.defineModuleGetter(this, "PdfStreamConverter",
"resource://pdf.js/PdfStreamConverter.jsm");
@ -27,5 +28,10 @@ function StreamConverterFactory() {
}
throw Cr.NS_ERROR_FACTORY_NOT_REGISTERED;
}
StreamConverterFactory.prototype = {
// properties required for XPCOM registration:
classID: Components.ID("{d0c5195d-e798-49d4-b1d3-9324328b2291}"),
classDescription: "pdf.js Component",
};
var EXPORTED_SYMBOLS = ["StreamConverterFactory"];
var NSGetFactory = XPCOMUtils.generateNSGetFactory([StreamConverterFactory]);

Просмотреть файл

@ -0,0 +1,3 @@
component {d0c5195d-e798-49d4-b1d3-9324328b2291} pdfjs.js
contract @mozilla.org/streamconv;1?from=application/pdf&to=*/* {d0c5195d-e798-49d4-b1d3-9324328b2291}
contract @mozilla.org/streamconv;1?from=application/pdf&to=text/html {d0c5195d-e798-49d4-b1d3-9324328b2291}

Просмотреть файл

@ -160,30 +160,169 @@
#endif
; JavaScript components
@RESPATH@/components/ConsoleAPI.manifest
@RESPATH@/components/ConsoleAPIStorage.js
@RESPATH@/components/BrowserElementParent.manifest
@RESPATH@/components/BrowserElementParent.js
@RESPATH@/components/UAOverridesBootstrapper.js
@RESPATH@/components/UAOverridesBootstrapper.manifest
@RESPATH@/components/WellKnownOpportunisticUtils.js
@RESPATH@/components/WellKnownOpportunisticUtils.manifest
#ifndef XP_MACOSX
; OSX uses native platform impl. Windows, Linux, and Android uses fallback JS impl.
@BINPATH@/components/nsDNSServiceDiscovery.manifest
@BINPATH@/components/nsDNSServiceDiscovery.js
#endif
@RESPATH@/browser/components/BrowserComponents.manifest
@RESPATH@/browser/components/nsBrowserContentHandler.js
@RESPATH@/browser/components/nsBrowserGlue.js
@RESPATH@/browser/components/devtools-startup.manifest
@RESPATH@/browser/components/devtools-startup.js
@RESPATH@/browser/components/aboutdebugging-registration.js
@RESPATH@/browser/components/aboutdebugging.manifest
#ifdef NIGHTLY_BUILD
@RESPATH@/browser/components/aboutdebugging-new-registration.js
@RESPATH@/browser/components/aboutdebugging-new.manifest
#endif
@RESPATH@/browser/components/aboutdevtools-registration.js
@RESPATH@/browser/components/aboutdevtools.manifest
@RESPATH@/browser/components/aboutdevtoolstoolbox-registration.js
@RESPATH@/browser/components/aboutdevtoolstoolbox.manifest
@RESPATH@/browser/components/aboutNewTabService.js
@RESPATH@/browser/components/NewTabComponents.manifest
@RESPATH@/browser/components/EnterprisePolicies.js
@RESPATH@/browser/components/EnterprisePoliciesContent.js
@RESPATH@/browser/components/EnterprisePolicies.manifest
@RESPATH@/browser/components/WebProtocolHandlerRegistrar.js
@RESPATH@/components/Downloads.manifest
@RESPATH@/components/DownloadLegacy.js
@RESPATH@/components/PageThumbsComponents.manifest
@RESPATH@/components/crashmonitor.manifest
@RESPATH@/components/nsCrashMonitor.js
@RESPATH@/components/toolkitsearch.manifest
@RESPATH@/components/nsSearchService.js
@RESPATH@/components/nsSearchSuggestions.js
@RESPATH@/components/nsSidebar.js
#ifdef NIGHTLY_BUILD
@RESPATH@/browser/components/payments.manifest
@RESPATH@/browser/components/paymentUIService.js
#endif
@RESPATH@/components/passwordmgr.manifest
@RESPATH@/components/nsLoginInfo.js
@RESPATH@/components/nsLoginManager.js
@RESPATH@/components/nsLoginManagerPrompter.js
@RESPATH@/components/storage-json.js
@RESPATH@/components/crypto-SDR.js
@RESPATH@/components/TooltipTextProvider.js
@RESPATH@/components/TooltipTextProvider.manifest
@RESPATH@/components/WebVTT.manifest
@RESPATH@/components/WebVTTParserWrapper.js
@RESPATH@/components/nsHelperAppDlg.manifest
@RESPATH@/components/nsHelperAppDlg.js
@RESPATH@/components/NetworkGeolocationProvider.manifest
@RESPATH@/components/NetworkGeolocationProvider.js
@RESPATH@/components/extensions.manifest
@RESPATH@/components/addonManager.js
@RESPATH@/components/amContentHandler.js
@RESPATH@/components/amInstallTrigger.js
@RESPATH@/components/amWebAPI.js
#ifdef MOZ_UPDATER
@RESPATH@/components/nsUpdateService.manifest
@RESPATH@/components/nsUpdateService.js
@RESPATH@/components/nsUpdateServiceStub.js
#endif
@RESPATH@/components/nsUpdateTimerManager.manifest
@RESPATH@/components/nsUpdateTimerManager.js
@RESPATH@/components/utils.manifest
@RESPATH@/components/simpleServices.js
@RESPATH@/components/ProcessSingleton.manifest
@RESPATH@/components/MainProcessSingleton.js
@RESPATH@/components/ContentProcessSingleton.js
@RESPATH@/components/nsURLFormatter.manifest
@RESPATH@/components/nsURLFormatter.js
@RESPATH@/components/toolkitplaces.manifest
@RESPATH@/components/nsTaggingService.js
@RESPATH@/components/UnifiedComplete.js
@RESPATH@/components/nsPlacesExpiration.js
@RESPATH@/components/PageIconProtocolHandler.js
@RESPATH@/components/PlacesCategoriesStarter.js
@RESPATH@/components/ColorAnalyzer.js
@RESPATH@/components/PageThumbsStorageService.js
@RESPATH@/components/mozProtocolHandler.js
@RESPATH@/components/mozProtocolHandler.manifest
@RESPATH@/components/nsDefaultCLH.manifest
@RESPATH@/components/nsDefaultCLH.js
@RESPATH@/components/ContentPrefService2.manifest
@RESPATH@/components/ContentPrefService2.js
@RESPATH@/components/nsContentDispatchChooser.manifest
@RESPATH@/components/nsContentDispatchChooser.js
@RESPATH@/components/HandlerService.manifest
@RESPATH@/components/HandlerService.js
@RESPATH@/components/nsWebHandlerApp.manifest
@RESPATH@/components/nsWebHandlerApp.js
@RESPATH@/components/satchel.manifest
@RESPATH@/components/nsFormAutoComplete.js
@RESPATH@/components/FormHistoryStartup.js
@RESPATH@/components/nsInputListAutoComplete.js
@RESPATH@/components/contentAreaDropListener.manifest
@RESPATH@/components/contentAreaDropListener.js
@RESPATH@/browser/components/BrowserProfileMigrators.manifest
@RESPATH@/browser/components/ProfileMigrator.js
@RESPATH@/browser/components/ChromeProfileMigrator.js
@RESPATH@/browser/components/FirefoxProfileMigrator.js
#ifdef XP_WIN
@RESPATH@/browser/components/360seProfileMigrator.js
@RESPATH@/browser/components/EdgeProfileMigrator.js
@RESPATH@/browser/components/IEProfileMigrator.js
#endif
#ifdef XP_MACOSX
@RESPATH@/browser/components/SafariProfileMigrator.js
@RESPATH@/browser/components/MacTouchBar.manifest
@RESPATH@/browser/components/MacTouchBar.js
#endif
@RESPATH@/components/nsPrompter.manifest
@RESPATH@/components/nsPrompter.js
@RESPATH@/components/SyncComponents.manifest
@RESPATH@/components/Weave.js
@RESPATH@/components/FxAccountsComponents.manifest
@RESPATH@/components/FxAccountsPush.js
@RESPATH@/components/CaptivePortalDetectComponents.manifest
@RESPATH@/components/captivedetect.js
@RESPATH@/components/servicesComponents.manifest
@RESPATH@/components/servicesSettings.manifest
@RESPATH@/components/RemoteSettingsComponents.js
@RESPATH@/components/cryptoComponents.manifest
@RESPATH@/components/TelemetryStartup.js
@RESPATH@/components/TelemetryStartup.manifest
@RESPATH@/components/XULStore.js
@RESPATH@/components/XULStore.manifest
@RESPATH@/components/recording-cmdline.js
@RESPATH@/components/recording-cmdline.manifest
@RESPATH@/components/htmlMenuBuilder.js
@RESPATH@/components/htmlMenuBuilder.manifest
@RESPATH@/components/NotificationStorage.js
@RESPATH@/components/NotificationStorage.manifest
@RESPATH@/components/Push.js
@RESPATH@/components/Push.manifest
@RESPATH@/components/PushComponents.js
@RESPATH@/components/remotebrowserutils.manifest
@RESPATH@/components/RemoteWebNavigation.js
@RESPATH@/components/ProcessSelector.js
@RESPATH@/components/ProcessSelector.manifest
@RESPATH@/components/SlowScriptDebug.manifest
@RESPATH@/components/SlowScriptDebug.js
@RESPATH@/components/ClearDataService.manifest
@RESPATH@/components/ClearDataService.js
#ifdef MOZ_WEBRTC
@RESPATH@/components/PeerConnection.js
@RESPATH@/components/PeerConnection.manifest
#endif
; Remote control protocol
#ifdef ENABLE_MARIONETTE
@ -194,6 +333,17 @@
@RESPATH@/defaults/pref/marionette.js
#endif
@RESPATH@/components/nsAsyncShutdown.manifest
@RESPATH@/components/nsAsyncShutdown.js
@RESPATH@/components/BuiltinProviders.manifest
@RESPATH@/components/PresentationControlService.js
@RESPATH@/components/PresentationDataChannelSessionTransport.js
@RESPATH@/components/PresentationDataChannelSessionTransport.manifest
@RESPATH@/components/mozIntl.manifest
@RESPATH@/components/mozIntl.js
#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
@RESPATH@/components/TestInterfaceJS.js
@RESPATH@/components/TestInterfaceJS.manifest
@ -209,12 +359,26 @@
@RESPATH@/components/extensions-toolkit.manifest
@RESPATH@/browser/components/extensions-browser.manifest
; [Normandy]
@RESPATH@/components/shield.manifest
@RESPATH@/components/shield-content-process.js
; [PDF Viewer]
@RESPATH@/browser/components/pdfjs.manifest
@RESPATH@/browser/components/pdfjs.js
; Modules
@RESPATH@/browser/modules/*
@RESPATH@/modules/*
@RESPATH@/browser/actors/*
@RESPATH@/actors/*
; Safe Browsing
@RESPATH@/components/nsURLClassifier.manifest
@RESPATH@/components/nsUrlClassifierHashCompleter.js
@RESPATH@/components/nsUrlClassifierListManager.js
@RESPATH@/components/nsUrlClassifierLib.js
; Security Reports
@RESPATH@/components/SecurityReporter.manifest
@RESPATH@/components/SecurityReporter.js
@ -400,6 +564,8 @@ bin/libfreebl_32int64_3.so
; [Crash Reporter]
;
#ifdef MOZ_CRASHREPORTER
@RESPATH@/components/CrashService.manifest
@RESPATH@/components/CrashService.js
#ifdef XP_MACOSX
@BINPATH@/crashreporter.app/
#else
@ -421,6 +587,7 @@ bin/libfreebl_32int64_3.so
@BINPATH@/pingsender@BIN_SUFFIX@
; Shutdown Terminator
@RESPATH@/components/nsTerminatorTelemetry.js
@RESPATH@/components/terminator.manifest
#ifdef LLVM_SYMBOLIZER
@ -440,6 +607,12 @@ bin/libfreebl_32int64_3.so
@RESPATH@/gmp-clearkey/0.1/@DLL_PREFIX@clearkey@DLL_SUFFIX@
@RESPATH@/gmp-clearkey/0.1/manifest.json
; gfx
#ifdef XP_WIN
@RESPATH@/components/GfxSanityTest.manifest
@RESPATH@/components/SanityTest.js
#endif
#ifdef MOZ_DMD
; DMD
@RESPATH@/dmd.py
@ -452,6 +625,13 @@ bin/libfreebl_32int64_3.so
#endif
#endif
; NOTE: This must match the config checks in
; /toolkit/components/backgroundhangmonitor/moz.build.
#if defined(NIGHTLY_BUILD) && !defined(MOZ_DEBUG) && !defined(MOZ_TSAN) && !defined(MOZ_ASAN)
@RESPATH@/components/BHRTelemetryService.js
@RESPATH@/components/BHRTelemetryService.manifest
#endif
#ifdef PKG_LOCALE_MANIFEST
#include @PKG_LOCALE_MANIFEST@
#endif

Просмотреть файл

@ -15,7 +15,7 @@ ChromeUtils.defineModuleGetter(this, "PrivateBrowsingUtils",
"resource://gre/modules/PrivateBrowsingUtils.jsm");
var ContentClick = {
// Listeners are added in BrowserGlue.jsm
// Listeners are added in nsBrowserGlue.js
receiveMessage(message) {
switch (message.name) {
case "Content:Click":

Просмотреть файл

@ -153,7 +153,7 @@ var ContentSearch = {
});
},
// Listeners and observers are added in BrowserGlue.jsm
// Listeners and observers are added in nsBrowserGlue.js
receiveMessage(msg) {
// Add a temporary event handler that exists only while the message is in
// the event queue. If the message's source docshell changes browsers in

Просмотреть файл

@ -32,7 +32,7 @@ var FormValidationHandler =
* Events
*/
// Listeners are added in BrowserGlue.jsm
// Listeners are added in nsBrowserGlue.js
receiveMessage(aMessage) {
let window = aMessage.target.ownerGlobal;
let json = aMessage.json;

Просмотреть файл

@ -15,7 +15,7 @@ ChromeUtils.defineModuleGetter(this, "ReaderMode", "resource://gre/modules/Reade
const gStringBundle = Services.strings.createBundle("chrome://global/locale/aboutReader.properties");
var ReaderParent = {
// Listeners are added in BrowserGlue.jsm
// Listeners are added in nsBrowserGlue.js
receiveMessage(message) {
switch (message.name) {
case "Reader:FaviconRequest": {

Просмотреть файл

@ -13,7 +13,7 @@ ChromeUtils.defineModuleGetter(this, "Services",
"resource://gre/modules/Services.jsm");
var RemotePrompt = {
// Listeners are added in BrowserGlue.jsm
// Listeners are added in nsBrowserGlue.js
receiveMessage(message) {
switch (message.name) {
case "Prompt:Open":

Просмотреть файл

@ -201,7 +201,7 @@ var webrtcUI = {
return this.emitter.off(...args);
},
// Listeners and observers are registered in BrowserGlue.jsm
// Listeners and observers are registered in nsBrowserGlue.js
receiveMessage(aMessage) {
switch (aMessage.name) {
case "rtcpeer:Request": {

Просмотреть файл

@ -14,7 +14,7 @@
:root:-moz-lwtheme-brighttext {
/* !important to override LightweightThemeManager.addBuiltInTheme in
BrowserGlue.jsm */
nsBrowserGlue.js */
--autocomplete-popup-background: #2A2A2E !important;
--autocomplete-popup-highlight-background: #0060DF;
}

Просмотреть файл

@ -102,12 +102,6 @@ Class definitions may have the following properties:
This property is incompatible with ``legacy_constructor``.
``jsm`` (optional)
If provided, must be the URL of a JavaScript module which contains a
JavaScript implementation of the component. The ``constructor`` property
must contain the name of an exported function which can be constructed to
create a new instance of the component.
``legacy_constructor`` (optional)
This property is deprecated, and should not be used in new code.

Просмотреть файл

@ -55,6 +55,7 @@ function run_test() {
factory: Components.manager.getClassObject(Cc[factory.contractID], Ci.nsIFactory),
});
old_factories_inds.push(true);
registrar.unregisterFactory(old_factories[i].CID, old_factories[i].factory);
} else {
dump(factory.scheme + " has never been registered. Registering...");
old_factories.push({CID: "", factory: null});
@ -94,7 +95,7 @@ function run_test() {
if (ind) {
let old_factory = old_factories[i];
registrar.registerFactory(old_factory.CID, factory.scheme, factory.contractID, null);
registrar.registerFactory(old_factory.CID, factory.scheme, factory.contractID, old_factory.factory);
}
}
}

Просмотреть файл

@ -125,6 +125,7 @@ function run_test() {
dump(XULAppInfoFactory.scheme + " is already registered. Storing currently registered object for restoration later.");
old_factory.CID = registrar.contractIDToCID(XULAppInfoFactory.contractID);
old_factory.factory = Components.manager.getClassObject(Cc[XULAppInfoFactory.contractID], Ci.nsIFactory);
registrar.unregisterFactory(old_factory.CID, old_factory.factory);
} else {
dump(XULAppInfoFactory.scheme + " has never been registered. Registering...");
}
@ -213,6 +214,6 @@ function run_test() {
// Unregister XULAppInfoFactory
registrar.unregisterFactory(XULAppInfoFactory.CID, XULAppInfoFactory);
if (old_factory.factory != null) {
registrar.registerFactory(old_factory.CID, "", XULAppInfoFactory.contractID, null);
registrar.registerFactory(old_factory.CID, "", XULAppInfoFactory.contractID, old_factory.factory);
}
}

Просмотреть файл

@ -1,14 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{ec5aa99c-7abb-4142-ac5f-aab2419e38e2}',
'contract_ids': ['@mozilla.org/jsinspector;1'],
'type': 'mozilla::jsinspector::nsJSInspector',
'headers': ['/devtools/platform/nsJSInspector.h'],
},
]

Просмотреть файл

@ -16,8 +16,4 @@ SOURCES += [
'nsJSInspector.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
FINAL_LIBRARY = 'xul'

Просмотреть файл

@ -8,6 +8,7 @@
#include "nsThreadUtils.h"
#include "jsfriendapi.h"
#include "mozilla/HoldDropJSObjects.h"
#include "mozilla/ModuleUtils.h"
#include "mozilla/dom/ScriptSettings.h"
#include "nsServiceManagerUtils.h"
#include "nsMemory.h"
@ -26,6 +27,8 @@
namespace mozilla {
namespace jsinspector {
NS_GENERIC_FACTORY_CONSTRUCTOR(nsJSInspector)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsJSInspector)
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_INTERFACE_MAP_ENTRY(nsIJSInspector)
@ -118,3 +121,18 @@ nsJSInspector::GetLastNestRequestor(JS::MutableHandle<JS::Value> out) {
} // namespace jsinspector
} // namespace mozilla
NS_DEFINE_NAMED_CID(JSINSPECTOR_CID);
static const mozilla::Module::CIDEntry kJSInspectorCIDs[] = {
{&kJSINSPECTOR_CID, false, nullptr,
mozilla::jsinspector::nsJSInspectorConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry kJSInspectorContracts[] = {
{JSINSPECTOR_CONTRACTID, &kJSINSPECTOR_CID}, {nullptr}};
static const mozilla::Module kJSInspectorModule = {
mozilla::Module::kVersion, kJSInspectorCIDs, kJSInspectorContracts};
NSMODULE_DEFN(jsinspector) = &kJSInspectorModule;

Просмотреть файл

@ -8,6 +8,7 @@
// open the new about:debugging when going to about:debugging-new, without having to flip
// the preference. This allows running both versions of about:debugging side by side to
// compare them.
const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
const { nsIAboutModule } = Ci;
@ -37,4 +38,6 @@ AboutDebuggingNew.prototype = {
},
};
var EXPORTED_SYMBOLS = ["AboutDebuggingNew"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([
AboutDebuggingNew,
]);

Просмотреть файл

@ -0,0 +1,2 @@
component {610e4e26-26bd-4a7d-aebc-69211d5a3be0} aboutdebugging-new-registration.js
contract @mozilla.org/network/protocol/about;1?what=debugging-new {610e4e26-26bd-4a7d-aebc-69211d5a3be0}

Просмотреть файл

@ -8,6 +8,7 @@
// workers and tabs by launching a dedicated DevTools toolbox for the selected target.
// If DevTools are not installed, this about page will display a shim landing page
// encouraging the user to download and install DevTools.
const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
const { nsIAboutModule } = Ci;
@ -39,4 +40,6 @@ AboutDebugging.prototype = {
},
};
var EXPORTED_SYMBOLS = ["AboutDebugging"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([
AboutDebugging,
]);

Просмотреть файл

@ -0,0 +1,2 @@
component {1060afaf-dc9e-43da-8646-23a2faf48493} aboutdebugging-registration.js
contract @mozilla.org/network/protocol/about;1?what=debugging {1060afaf-dc9e-43da-8646-23a2faf48493}

Просмотреть файл

@ -6,6 +6,7 @@
// Register the about:devtools URL, that is opened whenever a user attempts to open
// DevTools for the first time.
const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
const { nsIAboutModule } = Ci;
@ -34,4 +35,6 @@ AboutDevtools.prototype = {
},
};
var EXPORTED_SYMBOLS = ["AboutDevtools"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([
AboutDevtools,
]);

Просмотреть файл

@ -0,0 +1,2 @@
component {3a16d383-92bd-4c24-ac10-0e2bd66883ab} aboutdevtools-registration.js
contract @mozilla.org/network/protocol/about;1?what=devtools {3a16d383-92bd-4c24-ac10-0e2bd66883ab}

Просмотреть файл

@ -1,14 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{3a16d383-92bd-4c24-ac10-0e2bd66883ab}',
'contract_ids': ['@mozilla.org/network/protocol/about;1?what=devtools'],
'jsm': 'resource:///modules/AboutDevToolsRegistration.jsm',
'constructor': 'AboutDevtools',
},
]

Просмотреть файл

@ -4,12 +4,9 @@
# 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/.
EXTRA_JS_MODULES += [
'AboutDevToolsRegistration.jsm',
]
XPCOM_MANIFESTS += [
'components.conf',
EXTRA_COMPONENTS += [
'aboutdevtools-registration.js',
'aboutdevtools.manifest',
]
BROWSER_CHROME_MANIFESTS += ['test/browser.ini']

Просмотреть файл

@ -7,6 +7,7 @@
// Register about:devtools-toolbox which allows to open a devtools toolbox
// in a Firefox tab or a custom html iframe in browser.html
const { XPCOMUtils } = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
const { nsIAboutModule } = Ci;
@ -34,4 +35,6 @@ AboutDevtoolsToolbox.prototype = {
},
};
var EXPORTED_SYMBOLS = ["AboutDevtoolsToolbox"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([
AboutDevtoolsToolbox,
]);

Просмотреть файл

@ -0,0 +1,2 @@
component {11342911-3135-45a8-8d71-737a2b0ad469} aboutdevtoolstoolbox-registration.js
contract @mozilla.org/network/protocol/about;1?what=devtools-toolbox {11342911-3135-45a8-8d71-737a2b0ad469}

Просмотреть файл

@ -1,40 +0,0 @@
# -*- 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/.
Classes = []
if buildconfig.substs['MOZ_DEVTOOLS'] == 'all':
Classes += [
{
'cid': '{9e9a9283-0ce9-4e4a-8f1c-ba129a032c32}',
'contract_ids': ['@mozilla.org/devtools/startup-clh;1'],
'jsm': 'resource:///modules/DevToolsStartup.jsm',
'constructor': 'DevToolsStartup',
'categories': {'command-line-handler': 'm-devtools'},
},
{
'cid': '{1060afaf-dc9e-43da-8646-23a2faf48493}',
'contract_ids': ['@mozilla.org/network/protocol/about;1?what=debugging'],
'jsm': 'resource:///modules/AboutDebuggingRegistration.jsm',
'constructor': 'AboutDebugging',
},
{
'cid': '{11342911-3135-45a8-8d71-737a2b0ad469}',
'contract_ids': ['@mozilla.org/network/protocol/about;1?what=devtools-toolbox'],
'jsm': 'resource:///modules/AboutDevToolsToolboxRegistration.jsm',
'constructor': 'AboutDevtoolsToolbox',
},
]
if defined('NIGHTLY_BUILD'):
Classes += [
{
'cid': '{610e4e26-26bd-4a7d-aebc-69211d5a3be0}',
'contract_ids': ['@mozilla.org/network/protocol/about;1?what=debugging-new'],
'jsm': 'resource:///modules/AboutDebuggingNewRegistration.jsm',
'constructor': 'AboutDebuggingNew',
},
]

Просмотреть файл

@ -1007,4 +1007,5 @@ const JsonView = {
},
};
var EXPORTED_SYMBOLS = ["DevToolsStartup"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory(
[DevToolsStartup]);

Просмотреть файл

@ -0,0 +1,3 @@
component {9e9a9283-0ce9-4e4a-8f1c-ba129a032c32} devtools-startup.js
contract @mozilla.org/devtools/startup-clh;1 {9e9a9283-0ce9-4e4a-8f1c-ba129a032c32}
category command-line-handler m-devtools @mozilla.org/devtools/startup-clh;1

Просмотреть файл

@ -12,10 +12,13 @@ DIRS += [
# Register the startup components only for 'all' builds.
if CONFIG['MOZ_DEVTOOLS'] == 'all':
EXTRA_JS_MODULES += [
'AboutDebuggingRegistration.jsm',
'AboutDevToolsToolboxRegistration.jsm',
'DevToolsStartup.jsm',
EXTRA_COMPONENTS += [
'aboutdebugging-registration.js',
'aboutdebugging.manifest',
'aboutdevtoolstoolbox-registration.js',
'aboutdevtoolstoolbox.manifest',
'devtools-startup.js',
'devtools-startup.manifest',
]
DIRS += [
@ -25,11 +28,8 @@ if CONFIG['MOZ_DEVTOOLS'] == 'all':
if CONFIG['NIGHTLY_BUILD']:
EXTRA_COMPONENTS += [
'AboutDebuggingNewRegistration.jsm',
]
XPCOM_MANIFESTS += [
'components.conf',
'aboutdebugging-new-registration.js',
'aboutdebugging-new.manifest',
]
XPCSHELL_TESTS_MANIFESTS += ['tests/unit/xpcshell.ini']

Просмотреть файл

@ -2,6 +2,8 @@
* 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/. */
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
// Fills up aProcesses until max and then selects randomly from the available
// ones.
function RandomSelector() {
@ -66,4 +68,5 @@ MinTabSelector.prototype = {
},
};
var EXPORTED_SYMBOLS = ["RandomSelector", "MinTabSelector"]
var components = [RandomSelector, MinTabSelector];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory(components);

Просмотреть файл

@ -0,0 +1,3 @@
component {c616fcfd-9737-41f1-aa74-cee72a38f91b} ProcessSelector.js
component {2dc08eaf-6eef-4394-b1df-a3a927c1290b} ProcessSelector.js
contract @mozilla.org/ipc/processselector;1 {2dc08eaf-6eef-4394-b1df-a3a927c1290b}

Просмотреть файл

@ -4,10 +4,14 @@
"use strict";
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
function SlowScriptDebug() { }
SlowScriptDebug.prototype = {
classID: Components.ID("{e740ddb4-18b4-4aac-8ae1-9b0f4320769d}"),
classDescription: "Slow script debug handler",
contractID: "@mozilla.org/dom/slow-script-debug;1",
QueryInterface: ChromeUtils.generateQI([Ci.nsISlowScriptDebug]),
get activationHandler() { return this._activationHandler; },
@ -17,4 +21,4 @@ SlowScriptDebug.prototype = {
set remoteActivationHandler(cb) { return this._remoteActivationHandler = cb; },
};
var EXPORTED_SYMBOLS = ["SlowScriptDebug"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([SlowScriptDebug]);

Просмотреть файл

@ -0,0 +1,2 @@
component {e740ddb4-18b4-4aac-8ae1-9b0f4320769d} SlowScriptDebug.js
contract @mozilla.org/dom/slow-script-debug;1 {e740ddb4-18b4-4aac-8ae1-9b0f4320769d}

Просмотреть файл

@ -1,31 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{1f34bc80-1bc7-11d6-a384-d705dd0746fc}',
'contract_ids': ['@mozilla.org/content/dropped-link-handler;1'],
'jsm': 'resource://gre/modules/ContentAreaDropListener.jsm',
'constructor': 'ContentAreaDropListener',
},
{
'cid': '{c616fcfd-9737-41f1-aa74-cee72a38f91b}',
'jsm': 'resource://gre/modules/ProcessSelector.jsm',
'constructor': 'RandomSelector',
},
{
'cid': '{2dc08eaf-6eef-4394-b1df-a3a927c1290b}',
'contract_ids': ['@mozilla.org/ipc/processselector;1'],
'jsm': 'resource://gre/modules/ProcessSelector.jsm',
'constructor': 'MinTabSelector',
},
{
'cid': '{e740ddb4-18b4-4aac-8ae1-9b0f4320769d}',
'contract_ids': ['@mozilla.org/dom/slow-script-debug;1'],
'jsm': 'resource://gre/modules/SlowScriptDebug.jsm',
'constructor': 'SlowScriptDebug',
},
]

Просмотреть файл

@ -3,6 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const {OS} = ChromeUtils.import("resource://gre/modules/osfile.jsm");
// This component is used for handling dragover and drop of urls.
@ -314,4 +315,5 @@ ContentAreaDropListener.prototype =
}
};
var EXPORTED_SYMBOLS = ["ContentAreaDropListener"];
var components = [ContentAreaDropListener];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory(components);

Просмотреть файл

@ -0,0 +1,2 @@
component {1f34bc80-1bc7-11d6-a384-d705dd0746fc} contentAreaDropListener.js
contract @mozilla.org/content/dropped-link-handler;1 {1f34bc80-1bc7-11d6-a384-d705dd0746fc}

Просмотреть файл

@ -452,16 +452,18 @@ if CONFIG['INTEL_ARCHITECTURE']:
SOURCES += ['nsTextFragmentSSE2.cpp']
SOURCES['nsTextFragmentSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
EXTRA_JS_MODULES += [
'ContentAreaDropListener.jsm',
'DOMRequestHelper.jsm',
'IndexedDBHelper.jsm',
'ProcessSelector.jsm',
'SlowScriptDebug.jsm',
EXTRA_COMPONENTS += [
'contentAreaDropListener.js',
'contentAreaDropListener.manifest',
'ProcessSelector.js',
'ProcessSelector.manifest',
'SlowScriptDebug.js',
'SlowScriptDebug.manifest',
]
XPCOM_MANIFESTS += [
'components.conf',
EXTRA_JS_MODULES += [
'DOMRequestHelper.jsm',
'IndexedDBHelper.jsm',
]
LOCAL_INCLUDES += [

Просмотреть файл

@ -720,7 +720,7 @@ target="_blank">Mozilla Bug 715041</a>
}
try {
componentMgr.registerFactory(oldIdleServiceCID, "Re registering old idle service", idleServiceContractID, null);
componentMgr.registerFactory(oldIdleServiceCID, "Re registering old idle service", idleServiceContractID, oldIdleServiceFactoryObj);
}
catch(err) {
dump("test_bug715041.xul: ShiftLocalTimerBackCleanUp() Failed to register factory, original idle service!\n");
@ -784,6 +784,13 @@ target="_blank">Mozilla Bug 715041</a>
dump("test_bug715041.xul: Failed to convert ID to CID for old idle service.\n");
}
try {
componentMgr.unregisterFactory(oldIdleServiceCID, oldIdleServiceFactoryObj);
}
catch(err) {
dump("test_bug715041.xul: Failed to unregister old idle service factory object!\n");
}
try {
componentMgr.registerFactory(idleServiceCID, "Test Simple Idle/Back Notifications", idleServiceContractID, idleServiceObj);
}

Просмотреть файл

@ -765,7 +765,7 @@ target="_blank">Mozilla Bug 715041</a>
}
try {
componentMgr.registerFactory(oldIdleServiceCID, "Re registering old idle service", idleServiceContractID, null);
componentMgr.registerFactory(oldIdleServiceCID, "Re registering old idle service", idleServiceContractID, oldIdleServiceFactoryObj);
}
catch(err) {
dump("test_bug715041_removal.xul: RemoveLastAddLastCleanUp() Failed to register factory, original idle service!\n");
@ -812,6 +812,13 @@ target="_blank">Mozilla Bug 715041</a>
dump("test_bug715041._removalxul: Failed to convert ID to CID for old idle service.\n");
}
try {
componentMgr.unregisterFactory(oldIdleServiceCID, oldIdleServiceFactoryObj);
}
catch(err) {
dump("test_bug715041_removal.xul: Failed to unregister old idle service factory object!\n");
}
try {
componentMgr.registerFactory(idleServiceCID, "Test Simple Idle/Back Notifications", idleServiceContractID, idleServiceObj);
}

Просмотреть файл

@ -10,6 +10,7 @@
*/
const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const {BrowserElementPromptService} = ChromeUtils.import("resource://gre/modules/BrowserElementPromptService.jsm");
function debug(msg) {
@ -621,4 +622,4 @@ BrowserElementParent.prototype = {
},
};
var EXPORTED_SYMBOLS = ["BrowserElementParent"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([BrowserElementParent]);

Просмотреть файл

@ -0,0 +1,2 @@
component {9f171ac4-0939-4ef8-b360-3408aedc3060} BrowserElementParent.js
contract @mozilla.org/dom/browser-element-api;1 {9f171ac4-0939-4ef8-b360-3408aedc3060}

Просмотреть файл

@ -596,6 +596,8 @@ var BrowserElementPromptService = {
return;
}
Cm.unregisterFactory(oldCID, oldFactory);
var oldInstance = oldFactory.createInstance(null, Ci.nsIPromptFactory);
var newInstance = new BrowserElementPromptFactory(oldInstance);

Просмотреть файл

@ -1,14 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{9f171ac4-0939-4ef8-b360-3408aedc3060}',
'contract_ids': ['@mozilla.org/dom/browser-element-api;1'],
'jsm': 'resource://gre/modules/BrowserElementParent.jsm',
'constructor': 'BrowserElementParent',
},
]

Просмотреть файл

@ -21,13 +21,13 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'browser-element'
EXTRA_JS_MODULES += [
'BrowserElementParent.jsm',
'BrowserElementPromptService.jsm',
EXTRA_COMPONENTS += [
'BrowserElementParent.js',
'BrowserElementParent.manifest',
]
XPCOM_MANIFESTS += [
'components.conf',
EXTRA_JS_MODULES += [
'BrowserElementPromptService.jsm',
]
LOCAL_INCLUDES += [

Просмотреть файл

@ -0,0 +1,2 @@
component {96cf7855-dfa9-4c6d-8276-f9705b4890f2} ConsoleAPIStorage.js
contract @mozilla.org/consoleAPI-storage;1 {96cf7855-dfa9-4c6d-8276-f9705b4890f2}

Просмотреть файл

@ -4,8 +4,12 @@
"use strict";
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
// This constant tells how many messages to process in a single timer execution.
const MESSAGES_IN_INTERVAL = 1500;
const STORAGE_MAX_EVENTS = 1000;
var _consoleStorage = new Map();
@ -138,4 +142,4 @@ ConsoleAPIStorageService.prototype = {
},
};
var EXPORTED_SYMBOLS = ["ConsoleAPIStorageService"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([ConsoleAPIStorageService]);

Просмотреть файл

@ -1,14 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{96cf7855-dfa9-4c6d-8276-f9705b4890f2}',
'contract_ids': ['@mozilla.org/consoleAPI-storage;1'],
'jsm': 'resource://gre/modules/ConsoleAPIStorage.jsm',
'constructor': 'ConsoleAPIStorageService',
},
]

Просмотреть файл

@ -34,12 +34,9 @@ UNIFIED_SOURCES += [
'ConsoleUtils.cpp',
]
EXTRA_JS_MODULES += [
'ConsoleAPIStorage.jsm',
]
XPCOM_MANIFESTS += [
'components.conf',
EXTRA_COMPONENTS += [
'ConsoleAPI.manifest',
'ConsoleAPIStorage.js',
]
LOCAL_INCLUDES += [

Просмотреть файл

@ -17,6 +17,7 @@
#include "mozilla/dom/MediaSource.h"
#include "mozilla/ipc/IPCStreamUtils.h"
#include "mozilla/LoadInfo.h"
#include "mozilla/ModuleUtils.h"
#include "mozilla/NullPrincipal.h"
#include "mozilla/Preferences.h"
#include "mozilla/SystemGroup.h"
@ -907,6 +908,33 @@ nsresult NS_GetSourceForMediaSourceURI(nsIURI* aURI, MediaSource** aSource) {
namespace mozilla {
namespace dom {
#define NS_BLOBPROTOCOLHANDLER_CID \
{ \
0xb43964aa, 0xa078, 0x44b2, { \
0xb0, 0x6b, 0xfd, 0x4d, 0x1b, 0x17, 0x2e, 0x66 \
} \
}
NS_GENERIC_FACTORY_CONSTRUCTOR(BlobURLProtocolHandler)
NS_DEFINE_NAMED_CID(NS_BLOBPROTOCOLHANDLER_CID);
static const Module::CIDEntry kBlobURLProtocolHandlerCIDs[] = {
{&kNS_BLOBPROTOCOLHANDLER_CID, false, nullptr,
BlobURLProtocolHandlerConstructor},
{nullptr}};
static const Module::ContractIDEntry kBlobURLProtocolHandlerContracts[] = {
{NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX BLOBURI_SCHEME,
&kNS_BLOBPROTOCOLHANDLER_CID},
{nullptr}};
static const Module kBlobURLProtocolHandlerModule = {
Module::kVersion, kBlobURLProtocolHandlerCIDs,
kBlobURLProtocolHandlerContracts};
NSMODULE_DEFN(BlobURLProtocolHandler) = &kBlobURLProtocolHandlerModule;
bool IsType(nsIURI* aUri, DataInfo::ObjectType aType) {
DataInfo* info = GetDataInfoFromURI(aUri);
if (!info) {

Просмотреть файл

@ -5,10 +5,8 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "FontTableURIProtocolHandler.h"
#include "nsIURIMutator.h"
#include "nsIUUIDGenerator.h"
#include "mozilla/ModuleUtils.h"
#include "nsNetUtil.h"
#include "nsSimpleURI.h"
using namespace mozilla;
using namespace mozilla::dom;
@ -114,3 +112,31 @@ FontTableURIProtocolHandler::NewURI(const nsACString &aSpec,
uri.forget(aResult);
return NS_OK;
}
#define NS_FONTTABLEPROTOCOLHANDLER_CID \
{ \
0x3fc8f04e, 0xd719, 0x43ca, { \
0x9a, 0xd0, 0x18, 0xee, 0x32, 0x02, 0x11, 0xf2 \
} \
}
NS_GENERIC_FACTORY_CONSTRUCTOR(FontTableURIProtocolHandler)
NS_DEFINE_NAMED_CID(NS_FONTTABLEPROTOCOLHANDLER_CID);
static const mozilla::Module::CIDEntry FontTableURIProtocolHandlerCIDs[] = {
{&kNS_FONTTABLEPROTOCOLHANDLER_CID, false, nullptr,
FontTableURIProtocolHandlerConstructor},
{nullptr}};
static const mozilla::Module::ContractIDEntry
FontTableURIProtocolHandlerContracts[] = {
{NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX FONTTABLEURI_SCHEME,
&kNS_FONTTABLEPROTOCOLHANDLER_CID},
{nullptr}};
static const mozilla::Module FontTableURIProtocolHandlerModule = {
mozilla::Module::kVersion, FontTableURIProtocolHandlerCIDs,
FontTableURIProtocolHandlerContracts};
NSMODULE_DEFN(FontTableURIProtocolHandler) = &FontTableURIProtocolHandlerModule;

Просмотреть файл

@ -1,20 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{3fc8f04e-d719-43ca-9ad0-18ee320211f2}',
'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-fonttable'],
'type': 'mozilla::dom::FontTableURIProtocolHandler',
'headers': ['mozilla/dom/FontTableURIProtocolHandler.h'],
},
{
'cid': '{b43964aa-a078-44b2-b06b-fd4d1b172e66}',
'contract_ids': ['@mozilla.org/network/protocol;1?name=blob'],
'type': 'mozilla::dom::BlobURLProtocolHandler',
'headers': ['mozilla/dom/BlobURLProtocolHandler.h'],
},
]

Просмотреть файл

@ -20,10 +20,6 @@ UNIFIED_SOURCES += [
'FontTableURIProtocolHandler.cpp',
]
XPCOM_MANIFESTS += [
'components.conf',
]
LOCAL_INCLUDES += [
'/dom/file',
'/netwerk/base',

Просмотреть файл

@ -1,14 +0,0 @@
# -*- 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/.
Classes = [
{
'cid': '{51c65f5d-0de5-4edc-9058-60e50cef77f8}',
'contract_ids': ['@mozilla.org/content/html-menu-builder;1'],
'jsm': 'resource://gre/modules/HTMLMenuBuilder.jsm',
'constructor': 'HTMLMenuBuilder',
},
]

Просмотреть файл

@ -4,6 +4,8 @@
// This component is used to build the menus for the HTML contextmenu attribute.
const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
// A global value that is used to identify each menu item. It is
// incremented with each one that is found.
var gGeneratedId = 1;
@ -129,4 +131,4 @@ HTMLMenuBuilder.prototype =
}
};
var EXPORTED_SYMBOLS = ["HTMLMenuBuilder"];
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([HTMLMenuBuilder]);

Просмотреть файл

@ -0,0 +1,3 @@
component {51c65f5d-0de5-4edc-9058-60e50cef77f8} htmlMenuBuilder.js
contract @mozilla.org/content/html-menu-builder;1 {51c65f5d-0de5-4edc-9058-60e50cef77f8}

Просмотреть файл

@ -227,12 +227,9 @@ SOURCES += [
'PluginDocument.cpp',
]
EXTRA_JS_MODULES += [
'HTMLMenuBuilder.jsm',
]
XPCOM_MANIFESTS += [
'components.conf',
EXTRA_COMPONENTS += [
'htmlMenuBuilder.js',
'htmlMenuBuilder.manifest'
]
include('/ipc/chromium/chromium-config.mozbuild')

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше