|
@@ -0,0 +1,197 @@
|
|
|
|
+# HG changeset patch
|
|
|
|
+# User Bill Gianopoulos <wgianopoulos@gmail.com>
|
|
|
|
+# Date 1657885763 0
|
|
|
|
+Revert xpcom/components part of Bug 1519636.
|
|
|
|
+Bug 1519636 - Reformat recent changes to the Google coding style.
|
|
|
|
+
|
|
|
|
+diff --git a/xpcom/components/Module.h b/xpcom/components/Module.h
|
|
|
|
+--- a/xpcom/components/Module.h
|
|
|
|
++++ b/xpcom/components/Module.h
|
|
|
|
+@@ -7,70 +7,70 @@
|
|
|
|
+ #ifndef mozilla_Module_h
|
|
|
|
+ #define mozilla_Module_h
|
|
|
|
+
|
|
|
|
+ #include "nscore.h"
|
|
|
|
+
|
|
|
|
+ namespace mozilla {
|
|
|
|
+
|
|
|
|
+ namespace Module {
|
|
|
|
+-/**
|
|
|
|
+- * This selector allows components to be marked so that they're only loaded
|
|
|
|
+- * into certain kinds of processes. Selectors can be combined.
|
|
|
|
+- */
|
|
|
|
+-// Note: This must be kept in sync with the selector matching in
|
|
|
|
+-// nsComponentManager.cpp.
|
|
|
|
+-enum ProcessSelector {
|
|
|
|
+- ANY_PROCESS = 0x0,
|
|
|
|
+- MAIN_PROCESS_ONLY = 0x1,
|
|
|
|
+- CONTENT_PROCESS_ONLY = 0x2,
|
|
|
|
++ /**
|
|
|
|
++ * This selector allows components to be marked so that they're only loaded
|
|
|
|
++ * into certain kinds of processes. Selectors can be combined.
|
|
|
|
++ */
|
|
|
|
++ // Note: This must be kept in sync with the selector matching in
|
|
|
|
++ // nsComponentManager.cpp.
|
|
|
|
++ enum ProcessSelector {
|
|
|
|
++ ANY_PROCESS = 0x0,
|
|
|
|
++ MAIN_PROCESS_ONLY = 0x1,
|
|
|
|
++ CONTENT_PROCESS_ONLY = 0x2,
|
|
|
|
++
|
|
|
|
++ /**
|
|
|
|
++ * By default, modules are not loaded in the GPU, VR, Socket, RDD, Utility
|
|
|
|
++ * and IPDLUnitTest processes, even if ANY_PROCESS is specified. This flag
|
|
|
|
++ * enables a module in the relevant process.
|
|
|
|
++ *
|
|
|
|
++ * NOTE: IPDLUnitTest does not have its own flag, and will only load a
|
|
|
|
++ * module if it is enabled in all processes.
|
|
|
|
++ */
|
|
|
|
++ ALLOW_IN_GPU_PROCESS = 0x4,
|
|
|
|
++ ALLOW_IN_VR_PROCESS = 0x8,
|
|
|
|
++ ALLOW_IN_SOCKET_PROCESS = 0x10,
|
|
|
|
++ ALLOW_IN_RDD_PROCESS = 0x20,
|
|
|
|
++ ALLOW_IN_UTILITY_PROCESS = 0x30,
|
|
|
|
++ ALLOW_IN_GPU_AND_MAIN_PROCESS = ALLOW_IN_GPU_PROCESS | MAIN_PROCESS_ONLY,
|
|
|
|
++ ALLOW_IN_GPU_AND_VR_PROCESS = ALLOW_IN_GPU_PROCESS | ALLOW_IN_VR_PROCESS,
|
|
|
|
++ ALLOW_IN_GPU_AND_SOCKET_PROCESS =
|
|
|
|
++ ALLOW_IN_GPU_PROCESS | ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
++ ALLOW_IN_GPU_VR_AND_SOCKET_PROCESS =
|
|
|
|
++ ALLOW_IN_GPU_PROCESS | ALLOW_IN_VR_PROCESS | ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
++ ALLOW_IN_RDD_AND_SOCKET_PROCESS =
|
|
|
|
++ ALLOW_IN_RDD_PROCESS | ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
++ ALLOW_IN_GPU_RDD_AND_SOCKET_PROCESS =
|
|
|
|
++ ALLOW_IN_GPU_PROCESS | ALLOW_IN_RDD_PROCESS | ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
++ ALLOW_IN_GPU_RDD_SOCKET_AND_UTILITY_PROCESS =
|
|
|
|
++ ALLOW_IN_GPU_PROCESS | ALLOW_IN_RDD_PROCESS | ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
++ ALLOW_IN_GPU_RDD_VR_AND_SOCKET_PROCESS =
|
|
|
|
++ ALLOW_IN_GPU_PROCESS | ALLOW_IN_RDD_PROCESS | ALLOW_IN_VR_PROCESS |
|
|
|
|
++ ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
++ ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS =
|
|
|
|
++ ALLOW_IN_GPU_PROCESS | ALLOW_IN_RDD_PROCESS | ALLOW_IN_VR_PROCESS |
|
|
|
|
++ ALLOW_IN_SOCKET_PROCESS | ALLOW_IN_UTILITY_PROCESS
|
|
|
|
++ };
|
|
|
|
++
|
|
|
|
++ static constexpr size_t kMaxProcessSelector =
|
|
|
|
++ size_t(ProcessSelector::ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS);
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+- * By default, modules are not loaded in the GPU, VR, Socket, RDD, Utility
|
|
|
|
+- * and IPDLUnitTest processes, even if ANY_PROCESS is specified. This flag
|
|
|
|
+- * enables a module in the relevant process.
|
|
|
|
+- *
|
|
|
|
+- * NOTE: IPDLUnitTest does not have its own flag, and will only load a
|
|
|
|
+- * module if it is enabled in all processes.
|
|
|
|
++ * This allows category entries to be marked so that they are or are
|
|
|
|
++ * not loaded when in backgroundtask mode.
|
|
|
|
+ */
|
|
|
|
+- ALLOW_IN_GPU_PROCESS = 0x4,
|
|
|
|
+- ALLOW_IN_VR_PROCESS = 0x8,
|
|
|
|
+- ALLOW_IN_SOCKET_PROCESS = 0x10,
|
|
|
|
+- ALLOW_IN_RDD_PROCESS = 0x20,
|
|
|
|
+- ALLOW_IN_UTILITY_PROCESS = 0x30,
|
|
|
|
+- ALLOW_IN_GPU_AND_MAIN_PROCESS = ALLOW_IN_GPU_PROCESS | MAIN_PROCESS_ONLY,
|
|
|
|
+- ALLOW_IN_GPU_AND_VR_PROCESS = ALLOW_IN_GPU_PROCESS | ALLOW_IN_VR_PROCESS,
|
|
|
|
+- ALLOW_IN_GPU_AND_SOCKET_PROCESS =
|
|
|
|
+- ALLOW_IN_GPU_PROCESS | ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
+- ALLOW_IN_GPU_VR_AND_SOCKET_PROCESS =
|
|
|
|
+- ALLOW_IN_GPU_PROCESS | ALLOW_IN_VR_PROCESS | ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
+- ALLOW_IN_RDD_AND_SOCKET_PROCESS =
|
|
|
|
+- ALLOW_IN_RDD_PROCESS | ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
+- ALLOW_IN_GPU_RDD_AND_SOCKET_PROCESS =
|
|
|
|
+- ALLOW_IN_GPU_PROCESS | ALLOW_IN_RDD_PROCESS | ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
+- ALLOW_IN_GPU_RDD_SOCKET_AND_UTILITY_PROCESS =
|
|
|
|
+- ALLOW_IN_GPU_PROCESS | ALLOW_IN_RDD_PROCESS | ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
+- ALLOW_IN_GPU_RDD_VR_AND_SOCKET_PROCESS =
|
|
|
|
+- ALLOW_IN_GPU_PROCESS | ALLOW_IN_RDD_PROCESS | ALLOW_IN_VR_PROCESS |
|
|
|
|
+- ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
+- ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS =
|
|
|
|
+- ALLOW_IN_GPU_PROCESS | ALLOW_IN_RDD_PROCESS | ALLOW_IN_VR_PROCESS |
|
|
|
|
+- ALLOW_IN_SOCKET_PROCESS | ALLOW_IN_UTILITY_PROCESS
|
|
|
|
++ // Note: This must be kept in sync with the selector matching in
|
|
|
|
++ // StaticComponents.cpp.in.
|
|
|
|
++ enum BackgroundTasksSelector {
|
|
|
|
++ NO_TASKS = 0x0,
|
|
|
|
++ ALL_TASKS = 0xFFFF,
|
|
|
|
++ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+-static constexpr size_t kMaxProcessSelector =
|
|
|
|
+- size_t(ProcessSelector::ALLOW_IN_GPU_RDD_VR_SOCKET_AND_UTILITY_PROCESS);
|
|
|
|
+-
|
|
|
|
+-/**
|
|
|
|
+- * This allows category entries to be marked so that they are or are
|
|
|
|
+- * not loaded when in backgroundtask mode.
|
|
|
|
+- */
|
|
|
|
+-// Note: This must be kept in sync with the selector matching in
|
|
|
|
+-// StaticComponents.cpp.in.
|
|
|
|
+-enum BackgroundTasksSelector {
|
|
|
|
+- NO_TASKS = 0x0,
|
|
|
|
+- ALL_TASKS = 0xFFFF,
|
|
|
|
+-};
|
|
|
|
+-}; // namespace Module
|
|
|
|
+-
|
|
|
|
+ } // namespace mozilla
|
|
|
|
+
|
|
|
|
+ #endif // mozilla_Module_h
|
|
|
|
+diff --git a/xpcom/components/nsComponentManager.cpp b/xpcom/components/nsComponentManager.cpp
|
|
|
|
+--- a/xpcom/components/nsComponentManager.cpp
|
|
|
|
++++ b/xpcom/components/nsComponentManager.cpp
|
|
|
|
+@@ -200,17 +200,19 @@ class MOZ_STACK_CLASS EntryWrapper final
|
|
|
|
+ std::move(aInst));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * Returns the description string for the module this entry belongs to.
|
|
|
|
+ * Currently always returns "<unknown module>".
|
|
|
|
+ */
|
|
|
|
+- nsCString ModuleDescription() { return "<unknown module>"_ns; }
|
|
|
|
++ nsCString ModuleDescription() {
|
|
|
|
++ return "<unknown module>"_ns;
|
|
|
|
++ }
|
|
|
|
+
|
|
|
|
+ private:
|
|
|
|
+ Variant<nsFactoryEntry*, const StaticModule*> mEntry;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ } // namespace
|
|
|
|
+
|
|
|
|
+ // this is safe to call during InitXPCOM
|
|
|
|
+@@ -434,17 +436,17 @@ nsresult nsComponentManagerImpl::Init()
|
|
|
|
+ nsCategoryManager::GetSingleton()->InitMemoryReporter();
|
|
|
|
+
|
|
|
|
+ MOZ_LOG(nsComponentManagerLog, LogLevel::Debug,
|
|
|
|
+ ("nsComponentManager: Initialized."));
|
|
|
|
+
|
|
|
|
+ mStatus = NORMAL;
|
|
|
|
+
|
|
|
|
+ MOZ_ASSERT(!XRE_IsContentProcess() ||
|
|
|
|
+- CONTRACTID_HASHTABLE_INITIAL_LENGTH <= 8 ||
|
|
|
|
++ CONTRACTID_HASHTABLE_INITIAL_LENGTH <= 8 ||
|
|
|
|
+ mFactories.Count() > CONTRACTID_HASHTABLE_INITIAL_LENGTH / 3,
|
|
|
|
+ "Initial component hashtable size is too large");
|
|
|
|
+
|
|
|
|
+ return NS_OK;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ template <typename T>
|
|
|
|
+ static void AssertNotMallocAllocated(T* aPtr) {
|
|
|
|
+@@ -1346,17 +1348,18 @@ size_t nsComponentManagerImpl::SizeOfInc
|
|
|
|
+ return n;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ////////////////////////////////////////////////////////////////////////////////
|
|
|
|
+ // nsFactoryEntry
|
|
|
|
+ ////////////////////////////////////////////////////////////////////////////////
|
|
|
|
+
|
|
|
|
+ nsFactoryEntry::nsFactoryEntry(const nsCID& aCID, nsIFactory* aFactory)
|
|
|
|
+- : mCID(aCID), mFactory(aFactory) {}
|
|
|
|
++ : mCID(aCID), mFactory(aFactory) {
|
|
|
|
++}
|
|
|
|
+
|
|
|
|
+ already_AddRefed<nsIFactory> nsFactoryEntry::GetFactory() {
|
|
|
|
+ nsComponentManagerImpl::gComponentManager->mLock.AssertNotCurrentThreadOwns();
|
|
|
|
+
|
|
|
|
+ nsCOMPtr<nsIFactory> factory = mFactory;
|
|
|
|
+ return factory.forget();
|
|
|
|
+ }
|
|
|
|
+
|