Backed out changeset fa4f742c5c11 (bug 1187230) for bustage on a CLOSED TREE
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Fri, 24 Jul 2015 15:42:39 +0200
changeset 274593 52b220e55ce1812cb3bf04679e8df75e51c9b0bc
parent 274592 f10579a03b1b273790c7c4c0f83411820362b4f4
child 274594 88100d9298eb12c0285475de84102f68487015cc
push id8304
push userjlund@mozilla.com
push dateMon, 10 Aug 2015 19:25:01 +0000
treeherdermozilla-aurora@7308dd0a6c3b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1187230
milestone42.0a1
backs outfa4f742c5c11fe4b404fdeb113a005c40106c7ee
Backed out changeset fa4f742c5c11 (bug 1187230) for bustage on a CLOSED TREE
ipc/hal/DaemonRunnables.h
ipc/hal/moz.build
deleted file mode 100644
--- a/ipc/hal/DaemonRunnables.h
+++ /dev/null
@@ -1,807 +0,0 @@
-/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
-/* vim: set ts=2 et sw=2 tw=80: */
-/* 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/. */
-
-#ifndef mozilla_ipc_DaemonRunnables_h
-#define mozilla_ipc_DaemonRunnables_h
-
-#include "nsThreadUtils.h"
-
-namespace mozilla {
-namespace ipc {
-
-//
-// Result handling
-//
-// The classes of type |DaemonResultRunnable[0..3]| transfer a result
-// handler from the I/O thread to the main thread for execution. Call
-// the methods |Create| and |Dispatch| to create or create-and-dispatch
-// a result runnable.
-//
-// You need to specify the called method. The |Create| and |Dispatch|
-// methods of |DaemonResultRunnable[1..3]| receive an extra argument
-// for initializing the result's arguments. During creation, the result
-// runnable calls the supplied class's call operator with the result's
-// argument. This is where initialization and conversion from backend-
-// specific types is performed.
-//
-
-template <typename Obj, typename Res>
-class DaemonResultRunnable0 final : public nsRunnable
-{
-public:
-  typedef DaemonResultRunnable0<Obj, Res> SelfType;
-
-  template <typename InitOp>
-  static already_AddRefed<SelfType>
-  Create(Obj* aObj, Res (Obj::*aMethod)(), const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aObj, aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template <typename InitOp>
-  static void
-  Dispatch(Obj* aObj, Res (Obj::*aMethod)(), const InitOp& aInitOp)
-  {
-    if (!aObj) {
-      return; // silently return if no result runnable has been given
-    }
-    nsRefPtr<SelfType> runnable = Create(aObj, aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    ((*mObj).*mMethod)();
-    return NS_OK;
-  }
-
-private:
-  DaemonResultRunnable0(Obj* aObj, Res (Obj::*aMethod)())
-    : mObj(aObj)
-    , mMethod(aMethod)
-  {
-    MOZ_ASSERT(mObj);
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult Init(const InitOp& aInitOp)
-  {
-    return aInitOp();
-  }
-
-  nsRefPtr<Obj> mObj;
-  void (Obj::*mMethod)();
-};
-
-template <typename Obj, typename Res, typename Tin1, typename Arg1>
-class DaemonResultRunnable1 final : public nsRunnable
-{
-public:
-  typedef DaemonResultRunnable1<Obj, Res, Tin1, Arg1> SelfType;
-
-  template <typename InitOp>
-  static already_AddRefed<SelfType>
-  Create(Obj* aObj, Res (Obj::*aMethod)(Arg1), const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aObj, aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template <typename InitOp>
-  static void
-  Dispatch(Obj* aObj, Res (Obj::*aMethod)(Arg1), const InitOp& aInitOp)
-  {
-    if (!aObj) {
-      return; // silently return if no result runnable has been given
-    }
-    nsRefPtr<SelfType> runnable = Create(aObj, aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    ((*mObj).*mMethod)(mArg1);
-    return NS_OK;
-  }
-
-private:
-  DaemonResultRunnable1(Obj* aObj, Res (Obj::*aMethod)(Arg1))
-    : mObj(aObj)
-    , mMethod(aMethod)
-  {
-    MOZ_ASSERT(mObj);
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult Init(const InitOp& aInitOp)
-  {
-    return aInitOp(mArg1);
-  }
-
-  nsRefPtr<Obj> mObj;
-  Res (Obj::*mMethod)(Arg1);
-  Tin1 mArg1;
-};
-
-template <typename Obj, typename Res,
-          typename Tin1, typename Tin2, typename Tin3,
-          typename Arg1, typename Arg2, typename Arg3>
-class DaemonResultRunnable3 final : public nsRunnable
-{
-public:
-  typedef DaemonResultRunnable3<Obj, Res,
-                                Tin1, Tin2, Tin3,
-                                Arg1, Arg2, Arg3> SelfType;
-
-  template<typename InitOp>
-  static already_AddRefed<SelfType>
-  Create(Obj* aObj, Res (Obj::*aMethod)(Arg1, Arg2, Arg3),
-         const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aObj, aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template<typename InitOp>
-  static void
-  Dispatch(Obj* aObj, Res (Obj::*aMethod)(Arg1, Arg2, Arg3),
-           const InitOp& aInitOp)
-  {
-    if (!aObj) {
-      return; // silently return if no result runnable has been given
-    }
-    nsRefPtr<SelfType> runnable = Create(aObj, aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    ((*mObj).*mMethod)(mArg1, mArg2, mArg3);
-    return NS_OK;
-  }
-
-private:
-  DaemonResultRunnable3(Obj* aObj, Res (Obj::*aMethod)(Arg1, Arg2, Arg3))
-    : mObj(aObj)
-    , mMethod(aMethod)
-  {
-    MOZ_ASSERT(mObj);
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult
-  Init(const InitOp& aInitOp)
-  {
-    return aInitOp(mArg1, mArg2, mArg3);
-  }
-
-  nsRefPtr<Obj> mObj;
-  Res (Obj::*mMethod)(Arg1, Arg2, Arg3);
-  Tin1 mArg1;
-  Tin2 mArg2;
-  Tin3 mArg3;
-};
-
-//
-// Notification handling
-//
-// The classes of type |DaemonNotificationRunnable[0..9]| transfer a
-// notification from the I/O thread to a notification handler on the
-// main thread. Call the methods |Create| and |Dispatch| to create or
-// create-and-dispatch a notification runnable.
-//
-// Like with result runnables, you need to specify the called method.
-// And like with result runnables, the |Create| and |Dispatch| methods
-// of |DaemonNotificationRunnable[1..9]| receive an extra argument
-// for initializing the notification's arguments. During creation, the
-// notification runnable calls the class's call operator with the
-// notification's argument. This is where initialization and conversion
-// from backend-specific types is performed.
-//
-
-template <typename ObjectWrapper, typename Res>
-class DaemonNotificationRunnable0 final : public nsRunnable
-{
-public:
-  typedef typename ObjectWrapper::ObjectType  ObjectType;
-  typedef DaemonNotificationRunnable0<ObjectWrapper, Res> SelfType;
-
-  template<typename InitOp>
-  static already_AddRefed<SelfType>
-  Create(Res (ObjectType::*aMethod)(), const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template<typename InitOp>
-  static void
-  Dispatch(Res (ObjectType::*aMethod)(), const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable = Create(aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    MOZ_ASSERT(NS_IsMainThread());
-
-    ObjectType* obj = ObjectWrapper::GetInstance();
-    if (!obj) {
-      NS_WARNING("Notification handler not initialized");
-    } else {
-      ((*obj).*mMethod)();
-    }
-    return NS_OK;
-  }
-
-private:
-  DaemonNotificationRunnable0(Res (ObjectType::*aMethod)())
-    : mMethod(aMethod)
-  {
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult Init(const InitOp& aInitOp)
-  {
-    return aInitOp();
-  }
-
-  Res (ObjectType::*mMethod)();
-};
-
-template <typename ObjectWrapper, typename Res,
-          typename Tin1, typename Arg1=Tin1>
-class DaemonNotificationRunnable1 final : public nsRunnable
-{
-public:
-  typedef typename ObjectWrapper::ObjectType  ObjectType;
-  typedef DaemonNotificationRunnable1<ObjectWrapper, Res,
-                                      Tin1, Arg1> SelfType;
-
-  template <typename InitOp>
-  static already_AddRefed<SelfType>
-  Create(Res (ObjectType::*aMethod)(Arg1), const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template <typename InitOp>
-  static void
-  Dispatch(Res (ObjectType::*aMethod)(Arg1), const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable = Create(aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    MOZ_ASSERT(NS_IsMainThread());
-
-    ObjectType* obj = ObjectWrapper::GetInstance();
-    if (!obj) {
-      NS_WARNING("Notification handler not initialized");
-    } else {
-      ((*obj).*mMethod)(mArg1);
-    }
-    return NS_OK;
-  }
-
-private:
-  DaemonNotificationRunnable1(Res (ObjectType::*aMethod)(Arg1))
-    : mMethod(aMethod)
-  {
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult Init(const InitOp& aInitOp)
-  {
-    nsresult rv = aInitOp(mArg1);
-    if (NS_FAILED(rv)) {
-      return rv;
-    }
-    return NS_OK;
-  }
-
-  Res (ObjectType::*mMethod)(Arg1);
-  Tin1 mArg1;
-};
-
-template <typename ObjectWrapper, typename Res,
-          typename Tin1, typename Tin2,
-          typename Arg1=Tin1, typename Arg2=Tin2>
-class DaemonNotificationRunnable2 final : public nsRunnable
-{
-public:
-  typedef typename ObjectWrapper::ObjectType  ObjectType;
-  typedef DaemonNotificationRunnable2<ObjectWrapper, Res,
-                                      Tin1, Tin2,
-                                      Arg1, Arg2> SelfType;
-
-  template <typename InitOp>
-  static already_AddRefed<SelfType>
-  Create(Res (ObjectType::*aMethod)(Arg1, Arg2), const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template <typename InitOp>
-  static void
-  Dispatch(Res (ObjectType::*aMethod)(Arg1, Arg2), const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable = Create(aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    MOZ_ASSERT(NS_IsMainThread());
-
-    ObjectType* obj = ObjectWrapper::GetInstance();
-    if (!obj) {
-      NS_WARNING("Notification handler not initialized");
-    } else {
-      ((*obj).*mMethod)(mArg1, mArg2);
-    }
-    return NS_OK;
-  }
-
-private:
-  DaemonNotificationRunnable2(
-    Res (ObjectType::*aMethod)(Arg1, Arg2))
-    : mMethod(aMethod)
-  {
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult Init(const InitOp& aInitOp)
-  {
-    nsresult rv = aInitOp(mArg1, mArg2);
-    if (NS_FAILED(rv)) {
-      return rv;
-    }
-    return NS_OK;
-  }
-
-  Res (ObjectType::*mMethod)(Arg1, Arg2);
-  Tin1 mArg1;
-  Tin2 mArg2;
-};
-
-template <typename ObjectWrapper, typename Res,
-          typename Tin1, typename Tin2, typename Tin3,
-          typename Arg1=Tin1, typename Arg2=Tin2, typename Arg3=Tin3>
-class DaemonNotificationRunnable3 final : public nsRunnable
-{
-public:
-  typedef typename ObjectWrapper::ObjectType  ObjectType;
-  typedef DaemonNotificationRunnable3<ObjectWrapper, Res,
-                                      Tin1, Tin2, Tin3,
-                                      Arg1, Arg2, Arg3> SelfType;
-
-  template <typename InitOp>
-  static already_AddRefed<SelfType>
-  Create(Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3), const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template <typename InitOp>
-  static void
-  Dispatch(Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3),
-           const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable = Create(aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    MOZ_ASSERT(NS_IsMainThread());
-
-    ObjectType* obj = ObjectWrapper::GetInstance();
-    if (!obj) {
-      NS_WARNING("Notification handler not initialized");
-    } else {
-      ((*obj).*mMethod)(mArg1, mArg2, mArg3);
-    }
-    return NS_OK;
-  }
-
-private:
-  DaemonNotificationRunnable3(
-    Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3))
-    : mMethod(aMethod)
-  {
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult Init(const InitOp& aInitOp)
-  {
-    nsresult rv = aInitOp(mArg1, mArg2, mArg3);
-    if (NS_FAILED(rv)) {
-      return rv;
-    }
-    return NS_OK;
-  }
-
-  Res (ObjectType::*mMethod)(Arg1, Arg2, Arg3);
-  Tin1 mArg1;
-  Tin2 mArg2;
-  Tin3 mArg3;
-};
-
-template <typename ObjectWrapper, typename Res,
-          typename Tin1, typename Tin2, typename Tin3, typename Tin4,
-          typename Arg1=Tin1, typename Arg2=Tin2,
-          typename Arg3=Tin3, typename Arg4=Tin4>
-class DaemonNotificationRunnable4 final : public nsRunnable
-{
-public:
-  typedef typename ObjectWrapper::ObjectType  ObjectType;
-  typedef DaemonNotificationRunnable4<ObjectWrapper, Res,
-    Tin1, Tin2, Tin3, Tin4, Arg1, Arg2, Arg3, Arg4> SelfType;
-
-  template <typename InitOp>
-  static already_AddRefed<SelfType> Create(
-    Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3, Arg4),
-    const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template <typename InitOp>
-  static void
-  Dispatch(Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3, Arg4),
-           const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable = Create(aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    MOZ_ASSERT(NS_IsMainThread());
-
-    ObjectType* obj = ObjectWrapper::GetInstance();
-    if (!obj) {
-      NS_WARNING("Notification handler not initialized");
-    } else {
-      ((*obj).*mMethod)(mArg1, mArg2, mArg3, mArg4);
-    }
-    return NS_OK;
-  }
-
-private:
-  DaemonNotificationRunnable4(
-    Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3, Arg4))
-    : mMethod(aMethod)
-  {
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult Init(const InitOp& aInitOp)
-  {
-    nsresult rv = aInitOp(mArg1, mArg2, mArg3, mArg4);
-    if (NS_FAILED(rv)) {
-      return rv;
-    }
-    return NS_OK;
-  }
-
-  Res (ObjectType::*mMethod)(Arg1, Arg2, Arg3, Arg4);
-  Tin1 mArg1;
-  Tin2 mArg2;
-  Tin3 mArg3;
-  Tin4 mArg4;
-};
-
-template <typename ObjectWrapper, typename Res,
-          typename Tin1, typename Tin2, typename Tin3,
-          typename Tin4, typename Tin5,
-          typename Arg1=Tin1, typename Arg2=Tin2, typename Arg3=Tin3,
-          typename Arg4=Tin4, typename Arg5=Tin5>
-class DaemonNotificationRunnable5 final : public nsRunnable
-{
-public:
-  typedef typename ObjectWrapper::ObjectType  ObjectType;
-  typedef DaemonNotificationRunnable5<ObjectWrapper, Res,
-    Tin1, Tin2, Tin3, Tin4, Tin5, Arg1, Arg2, Arg3, Arg4, Arg5> SelfType;
-
-  template <typename InitOp>
-  static already_AddRefed<SelfType> Create(
-    Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3, Arg4, Arg5),
-    const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template <typename InitOp>
-  static void
-  Dispatch(Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3, Arg4, Arg5),
-           const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable = Create(aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    MOZ_ASSERT(NS_IsMainThread());
-
-    ObjectType* obj = ObjectWrapper::GetInstance();
-    if (!obj) {
-      NS_WARNING("Notification handler not initialized");
-    } else {
-      ((*obj).*mMethod)(mArg1, mArg2, mArg3, mArg4, mArg5);
-    }
-    return NS_OK;
-  }
-
-private:
-  DaemonNotificationRunnable5(
-    Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3, Arg4, Arg5))
-    : mMethod(aMethod)
-  {
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult Init(const InitOp& aInitOp)
-  {
-    nsresult rv = aInitOp(mArg1, mArg2, mArg3, mArg4, mArg5);
-    if (NS_FAILED(rv)) {
-      return rv;
-    }
-    return NS_OK;
-  }
-
-  Res (ObjectType::*mMethod)(Arg1, Arg2, Arg3, Arg4, Arg5);
-  Tin1 mArg1;
-  Tin2 mArg2;
-  Tin3 mArg3;
-  Tin4 mArg4;
-  Tin5 mArg5;
-};
-
-template <typename ObjectWrapper, typename Res,
-          typename Tin1, typename Tin2, typename Tin3,
-          typename Tin4, typename Tin5, typename Tin6,
-          typename Arg1=Tin1, typename Arg2=Tin2, typename Arg3=Tin3,
-          typename Arg4=Tin4, typename Arg5=Tin5, typename Arg6=Tin6>
-class DaemonNotificationRunnable6 final : public nsRunnable
-{
-public:
-  typedef typename ObjectWrapper::ObjectType  ObjectType;
-  typedef DaemonNotificationRunnable6<ObjectWrapper, Res,
-    Tin1, Tin2, Tin3, Tin4, Tin5, Tin6, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6>
-    SelfType;
-
-  template <typename InitOp>
-  static already_AddRefed<SelfType> Create(
-    Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6),
-    const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template <typename InitOp>
-  static void
-  Dispatch(Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6),
-           const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable = Create(aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    MOZ_ASSERT(NS_IsMainThread());
-
-    ObjectType* obj = ObjectWrapper::GetInstance();
-    if (!obj) {
-      NS_WARNING("Notification handler not initialized");
-    } else {
-      ((*obj).*mMethod)(mArg1, mArg2, mArg3, mArg4, mArg5, mArg6);
-    }
-    return NS_OK;
-  }
-
-private:
-  DaemonNotificationRunnable6(
-    Res (ObjectType::*aMethod)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6))
-    : mMethod(aMethod)
-  {
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult Init(const InitOp& aInitOp)
-  {
-    nsresult rv = aInitOp(mArg1, mArg2, mArg3, mArg4, mArg5, mArg6);
-    if (NS_FAILED(rv)) {
-      return rv;
-    }
-    return NS_OK;
-  }
-
-  Res (ObjectType::*mMethod)(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6);
-  Tin1 mArg1;
-  Tin2 mArg2;
-  Tin3 mArg3;
-  Tin4 mArg4;
-  Tin5 mArg5;
-  Tin6 mArg6;
-};
-
-template <typename ObjectWrapper, typename Res,
-          typename Tin1, typename Tin2, typename Tin3,
-          typename Tin4, typename Tin5, typename Tin6,
-          typename Tin7, typename Tin8, typename Tin9,
-          typename Arg1=Tin1, typename Arg2=Tin2, typename Arg3=Tin3,
-          typename Arg4=Tin4, typename Arg5=Tin5, typename Arg6=Tin6,
-          typename Arg7=Tin7, typename Arg8=Tin8, typename Arg9=Tin9>
-class DaemonNotificationRunnable9 final : public nsRunnable
-{
-public:
-  typedef typename ObjectWrapper::ObjectType  ObjectType;
-  typedef DaemonNotificationRunnable9<ObjectWrapper, Res,
-    Tin1, Tin2, Tin3, Tin4, Tin5, Tin6, Tin7, Tin8, Tin9,
-    Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9> SelfType;
-
-  template <typename InitOp>
-  static already_AddRefed<SelfType> Create(
-    Res (ObjectType::*aMethod)(
-      Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9),
-    const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable(new SelfType(aMethod));
-    if (NS_FAILED(runnable->Init(aInitOp))) {
-      return nullptr;
-    }
-    return runnable.forget();
-  }
-
-  template <typename InitOp>
-  static void
-  Dispatch(
-    Res (ObjectType::*aMethod)(
-      Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9),
-    const InitOp& aInitOp)
-  {
-    nsRefPtr<SelfType> runnable = Create(aMethod, aInitOp);
-    if (!runnable) {
-      return;
-    }
-    NS_WARN_IF(NS_FAILED(NS_DispatchToMainThread(runnable)));
-  }
-
-  NS_IMETHODIMP Run() override
-  {
-    MOZ_ASSERT(NS_IsMainThread());
-
-    ObjectType* obj = ObjectWrapper::GetInstance();
-    if (!obj) {
-      NS_WARNING("Notification handler not initialized");
-    } else {
-      ((*obj).*mMethod)(mArg1, mArg2, mArg3, mArg4,
-                        mArg5, mArg6, mArg7, mArg8, mArg9);
-    }
-    return NS_OK;
-  }
-
-private:
-  DaemonNotificationRunnable9(
-    Res (ObjectType::*aMethod)(
-      Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9))
-    : mMethod(aMethod)
-  {
-    MOZ_ASSERT(mMethod);
-  }
-
-  template<typename InitOp>
-  nsresult Init(const InitOp& aInitOp)
-  {
-    nsresult rv = aInitOp(mArg1, mArg2, mArg3, mArg4,
-                          mArg5, mArg6, mArg7, mArg8, mArg9);
-    if (NS_FAILED(rv)) {
-      return rv;
-    }
-    return NS_OK;
-  }
-
-  Res (ObjectType::*mMethod)(
-    Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9);
-  Tin1 mArg1;
-  Tin2 mArg2;
-  Tin3 mArg3;
-  Tin4 mArg4;
-  Tin5 mArg5;
-  Tin6 mArg6;
-  Tin7 mArg7;
-  Tin8 mArg8;
-  Tin9 mArg9;
-};
-
-}
-}
-
-#endif // mozilla_ipc_DaemonRunnables_h
--- a/ipc/hal/moz.build
+++ b/ipc/hal/moz.build
@@ -1,16 +1,15 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 EXPORTS.mozilla.ipc += [
-    'DaemonRunnables.h',
     'DaemonSocket.h',
     'DaemonSocketConsumer.h',
     'DaemonSocketPDU.h'
 ]
 
 UNIFIED_SOURCES += [
     'DaemonSocket.cpp',
     'DaemonSocketConsumer.cpp',