Bug 718280 - Part 4: Remove nsIBrowserProfileMigrator.idl and references. r=NeilDeakin

Depends on D164140

Differential Revision: https://phabricator.services.mozilla.com/D164142
This commit is contained in:
Mike Conley
2022-12-13 17:01:25 +00:00
parent b194903466
commit 613a702236
3 changed files with 4 additions and 74 deletions

View File

@@ -32,21 +32,17 @@ ChromeUtils.defineESModuleGetters(lazy, {
*/
/**
* Shared prototype for migrators, implementing nsIBrowserProfileMigrator.
* Shared prototype for migrators.
*
* To implement a migrator:
* 1. Import this module.
* 2. Create the prototype for the migrator, extending MigratorBase.
* 3. Set classDescription, contractID and classID for your migrator, and update
* components.conf to register the migrator as an XPCOM component.
* 4. If the migrator supports multiple profiles, override the sourceProfiles
* 3. If the migrator supports multiple profiles, override the sourceProfiles
* Here we default for single-profile migrator.
* 5. Implement getResources(aProfile) (see below).
* 6. For startup-only migrators, override |startupOnlyMigrator|.
* 4. Implement getResources(aProfile) (see below).
* 5. For startup-only migrators, override |startupOnlyMigrator|.
*/
export class MigratorBase {
QueryInterface = ChromeUtils.generateQI(["nsIBrowserProfileMigrator"]);
/**
* This must be overridden to return a simple string identifier for the
* migrator, for example "firefox", "chrome", "opera-gx". This key is what
@@ -180,7 +176,6 @@ export class MigratorBase {
* DO NOT OVERRIDE - After deCOMing migration, the UI will just call
* getResources.
*
* See nsIBrowserProfileMigrator.
*
* @param {object|string} aProfile
* The profile from which data may be imported, or an empty string
@@ -203,8 +198,6 @@ export class MigratorBase {
* DO NOT OVERRIDE - After deCOMing migration, the UI will just call
* migrate for each resource.
*
* See nsIBrowserProfileMigrator.
*
* @see MigrationUtils
*
* @param {number} aItems
@@ -445,8 +438,6 @@ export class MigratorBase {
/**
* DO NOT OVERRIDE - After deCOMing migration, this code
* won't be part of the migrator itself.
*
* See nsIBrowserProfileMigrator.
*/
async isSourceAvailable() {
if (this.startupOnlyMigrator && !lazy.MigrationUtils.isStartupMigration) {

View File

@@ -15,7 +15,6 @@ SPHINX_TREES["docs"] = "docs"
JAR_MANIFESTS += ["jar.mn"]
XPIDL_SOURCES += [
"nsIBrowserProfileMigrator.idl",
"nsIEdgeMigrationUtils.idl",
]

View File

@@ -1,60 +0,0 @@
/* -*- Mode: C++; tab-width: 2; 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 "nsISupports.idl"
interface nsIArray;
interface nsIProfileStartup;
[scriptable, uuid(22b56ffc-3149-43c5-b5a9-b3a6b678de93)]
interface nsIBrowserProfileMigrator : nsISupports
{
/**
* Copy user profile information to the current active profile.
* @param aItems list of data items to migrate. see above for values.
* @param aStartup helper interface which is non-null if called during startup.
* @param aProfile profile to migrate from, if there is more than one.
*/
void migrate(in unsigned short aItems, in nsIProfileStartup aStartup, in jsval aProfile);
/**
* A bit field containing profile items that this migrator
* offers for import.
* @param aProfile the profile that we are looking for available data
* to import
* @return Promise containing a bit field containing profile items (see above)
* @note a return value of 0 represents no items rather than ALL.
*/
jsval getMigrateData(in jsval aProfile);
/**
* Get the last time data from this browser was modified
* @return a promise that resolves to a JS Date object
*/
jsval getLastUsedDate();
/**
* Get whether or not there is any data that can be imported from this
* browser (i.e. whether or not it is installed, and there exists
* a user profile)
* @return a promise that resolves with a boolean.
*/
jsval isSourceAvailable();
/**
* An enumeration of available profiles. If the import source does
* not support profiles, this attribute is null.
* @return a promise that resolves with an array of profiles or null.
*/
jsval getSourceProfiles();
/**
* Returns true if the migrator is configured to be enabled. This is
* controlled via the `browser.migrate.<BROWSER_KEY>.enabled` boolean
* preference, and defaults to false if the preference is not set.
*/
readonly attribute boolean enabled;
};