Backed out changeset 82355ab7e063 (bug 1455707) Backed out changeset b965981c9ce0 (bug 1463198) Backed out changeset 21a801ca5f6d (bug 1455707) Backed out changeset 05200c5388b4 (bug 1518632) Backed out changeset ebcd8225434a (bug 1522934) Backed out changeset e69cac07b209 (bug 1474285) Backed out changeset 35af79575f54 (bug 1322797)
135 lines
5.5 KiB
C++
135 lines
5.5 KiB
C++
/* -*- 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 },
|
|
#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;
|