Remove unused dbus.cc/.h and related things.

BUG=none

Review-Url: https://codereview.webrtc.org/2520533002
Cr-Commit-Position: refs/heads/master@{#15155}
diff --git a/webrtc/BUILD.gn b/webrtc/BUILD.gn
index f8a271d..b4cd7fb 100644
--- a/webrtc/BUILD.gn
+++ b/webrtc/BUILD.gn
@@ -97,12 +97,6 @@
   # }
 }
 
-if (rtc_have_dbus_glib) {
-  pkg_config("dbus-glib") {
-    packages = [ "dbus-glib-1" ]
-  }
-}
-
 config("common_config") {
   cflags = []
   cflags_cc = []
@@ -116,16 +110,6 @@
     defines += [ "WEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE" ]
   }
 
-  if (rtc_have_dbus_glib) {
-    defines += [ "HAVE_DBUS_GLIB" ]
-
-    # TODO(kjellander): Investigate this, it seems like include <dbus/dbus.h>
-    # is still not found even if the execution of
-    # build/config/linux/pkg-config.py dbus-glib-1 returns correct include
-    # dirs on Linux.
-    all_dependent_configs = [ "dbus-glib" ]
-  }
-
   if (rtc_relative_path) {
     defines += [ "EXPAT_RELATIVE_PATH" ]
   }
diff --git a/webrtc/base/BUILD.gn b/webrtc/base/BUILD.gn
index 1d25805..60303fc 100644
--- a/webrtc/base/BUILD.gn
+++ b/webrtc/base/BUILD.gn
@@ -561,10 +561,6 @@
 
     if (is_linux) {
       sources += [
-        "dbus.cc",
-        "dbus.h",
-        "libdbusglibsymboltable.cc",
-        "libdbusglibsymboltable.h",
         "linuxfdwalk.c",
         "linuxfdwalk.h",
       ]
diff --git a/webrtc/base/dbus.cc b/webrtc/base/dbus.cc
deleted file mode 100644
index d4fb536..0000000
--- a/webrtc/base/dbus.cc
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
- *  Copyright 2004 The WebRTC Project Authors. All rights reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifdef HAVE_DBUS_GLIB
-
-#include "webrtc/base/dbus.h"
-
-#include <glib.h>
-
-#include "webrtc/base/logging.h"
-#include "webrtc/base/thread.h"
-
-namespace rtc {
-
-// Avoid static object construction/destruction on startup/shutdown.
-static pthread_once_t g_dbus_init_once = PTHREAD_ONCE_INIT;
-static LibDBusGlibSymbolTable *g_dbus_symbol = NULL;
-
-// Releases DBus-Glib symbols.
-static void ReleaseDBusGlibSymbol() {
-  if (g_dbus_symbol != NULL) {
-    delete g_dbus_symbol;
-    g_dbus_symbol = NULL;
-  }
-}
-
-// Loads DBus-Glib symbols.
-static void InitializeDBusGlibSymbol() {
-  // This is thread safe.
-  if (NULL == g_dbus_symbol) {
-    g_dbus_symbol = new LibDBusGlibSymbolTable();
-
-    // Loads dbus-glib
-    if (NULL == g_dbus_symbol || !g_dbus_symbol->Load()) {
-      LOG(LS_WARNING) << "Failed to load dbus-glib symbol table.";
-      ReleaseDBusGlibSymbol();
-    } else {
-      // Nothing we can do if atexit() failed. Just ignore its returned value.
-      atexit(ReleaseDBusGlibSymbol);
-    }
-  }
-}
-
-inline static LibDBusGlibSymbolTable *GetSymbols() {
-  return DBusMonitor::GetDBusGlibSymbolTable();
-}
-
-// Implementation of class DBusSigMessageData
-DBusSigMessageData::DBusSigMessageData(DBusMessage *message)
-    : TypedMessageData<DBusMessage *>(message) {
-  GetSymbols()->dbus_message_ref()(data());
-}
-
-DBusSigMessageData::~DBusSigMessageData() {
-  GetSymbols()->dbus_message_unref()(data());
-}
-
-// Implementation of class DBusSigFilter
-
-// Builds a DBus filter string from given DBus path, interface and member.
-std::string DBusSigFilter::BuildFilterString(const std::string &path,
-                                             const std::string &interface,
-                                             const std::string &member) {
-  std::string ret(DBUS_TYPE "='" DBUS_SIGNAL "'");
-  if (!path.empty()) {
-    ret += ("," DBUS_PATH "='");
-    ret += path;
-    ret += "'";
-  }
-  if (!interface.empty()) {
-    ret += ("," DBUS_INTERFACE "='");
-    ret += interface;
-    ret += "'";
-  }
-  if (!member.empty()) {
-    ret += ("," DBUS_MEMBER "='");
-    ret += member;
-    ret += "'";
-  }
-  return ret;
-}
-
-// Forwards the message to the given instance.
-DBusHandlerResult DBusSigFilter::DBusCallback(DBusConnection *dbus_conn,
-                                              DBusMessage *message,
-                                              void *instance) {
-  ASSERT(instance);
-  if (instance) {
-    return static_cast<DBusSigFilter *>(instance)->Callback(message);
-  }
-  return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-}
-
-// Posts a message to caller thread.
-DBusHandlerResult DBusSigFilter::Callback(DBusMessage *message) {
-  if (caller_thread_) {
-    caller_thread_->Post(RTC_FROM_HERE, this, DSM_SIGNAL,
-                         new DBusSigMessageData(message));
-  }
-  // Don't "eat" the message here. Let it pop up.
-  return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-}
-
-// From MessageHandler.
-void DBusSigFilter::OnMessage(Message *message) {
-  if (message != NULL && DSM_SIGNAL == message->message_id) {
-    DBusSigMessageData *msg =
-        static_cast<DBusSigMessageData *>(message->pdata);
-    if (msg) {
-      ProcessSignal(msg->data());
-      delete msg;
-    }
-  }
-}
-
-// Definition of private class DBusMonitoringThread.
-// It creates a worker-thread to listen signals on DBus. The worker-thread will
-// be running in a priate GMainLoop forever until either Stop() has been invoked
-// or it hits an error.
-class DBusMonitor::DBusMonitoringThread : public rtc::Thread {
- public:
-  explicit DBusMonitoringThread(DBusMonitor *monitor,
-                                GMainContext *context,
-                                GMainLoop *mainloop,
-                                std::vector<DBusSigFilter *> *filter_list)
-      : monitor_(monitor),
-        context_(context),
-        mainloop_(mainloop),
-        connection_(NULL),
-        idle_source_(NULL),
-        filter_list_(filter_list) {
-    ASSERT(monitor_);
-    ASSERT(context_);
-    ASSERT(mainloop_);
-    ASSERT(filter_list_);
-  }
-
-  virtual ~DBusMonitoringThread() {
-    Stop();
-  }
-
-  // Override virtual method of Thread. Context: worker-thread.
-  virtual void Run() {
-    ASSERT(NULL == connection_);
-
-    // Setup DBus connection and start monitoring.
-    monitor_->OnMonitoringStatusChanged(DMS_INITIALIZING);
-    if (!Setup()) {
-      LOG(LS_ERROR) << "DBus monitoring setup failed.";
-      monitor_->OnMonitoringStatusChanged(DMS_FAILED);
-      CleanUp();
-      return;
-    }
-    monitor_->OnMonitoringStatusChanged(DMS_RUNNING);
-    g_main_loop_run(mainloop_);
-    monitor_->OnMonitoringStatusChanged(DMS_STOPPED);
-
-    // Done normally. Clean up DBus connection.
-    CleanUp();
-    return;
-  }
-
-  // Override virtual method of Thread. Context: caller-thread.
-  virtual void Stop() {
-    ASSERT(NULL == idle_source_);
-    // Add an idle source and let the gmainloop quit on idle.
-    idle_source_ = g_idle_source_new();
-    if (idle_source_) {
-      g_source_set_callback(idle_source_, &Idle, this, NULL);
-      g_source_attach(idle_source_, context_);
-    } else {
-      LOG(LS_ERROR) << "g_idle_source_new() failed.";
-      QuitGMainloop();  // Try to quit anyway.
-    }
-
-    Thread::Stop();  // Wait for the thread.
-  }
-
- private:
-  // Registers all DBus filters.
-  void RegisterAllFilters() {
-    ASSERT(NULL != GetSymbols()->dbus_g_connection_get_connection()(
-        connection_));
-
-    for (std::vector<DBusSigFilter *>::iterator it = filter_list_->begin();
-         it != filter_list_->end(); ++it) {
-      DBusSigFilter *filter = (*it);
-      if (!filter) {
-        LOG(LS_ERROR) << "DBusSigFilter list corrupted.";
-        continue;
-      }
-
-      GetSymbols()->dbus_bus_add_match()(
-          GetSymbols()->dbus_g_connection_get_connection()(connection_),
-          filter->filter().c_str(), NULL);
-
-      if (!GetSymbols()->dbus_connection_add_filter()(
-              GetSymbols()->dbus_g_connection_get_connection()(connection_),
-              &DBusSigFilter::DBusCallback, filter, NULL)) {
-        LOG(LS_ERROR) << "dbus_connection_add_filter() failed."
-                      << "Filter: " << filter->filter();
-        continue;
-      }
-    }
-  }
-
-  // Unregisters all DBus filters.
-  void UnRegisterAllFilters() {
-    ASSERT(NULL != GetSymbols()->dbus_g_connection_get_connection()(
-        connection_));
-
-    for (std::vector<DBusSigFilter *>::iterator it = filter_list_->begin();
-         it != filter_list_->end(); ++it) {
-      DBusSigFilter *filter = (*it);
-      if (!filter) {
-        LOG(LS_ERROR) << "DBusSigFilter list corrupted.";
-        continue;
-      }
-      GetSymbols()->dbus_connection_remove_filter()(
-          GetSymbols()->dbus_g_connection_get_connection()(connection_),
-          &DBusSigFilter::DBusCallback, filter);
-    }
-  }
-
-  // Sets up the monitoring thread.
-  bool Setup() {
-    g_main_context_push_thread_default(context_);
-
-    // Start connection to dbus.
-    // If dbus daemon is not running, returns false immediately.
-    connection_ = GetSymbols()->dbus_g_bus_get_private()(monitor_->type_,
-        context_, NULL);
-    if (NULL == connection_) {
-      LOG(LS_ERROR) << "dbus_g_bus_get_private() unable to get connection.";
-      return false;
-    }
-    if (NULL == GetSymbols()->dbus_g_connection_get_connection()(connection_)) {
-      LOG(LS_ERROR) << "dbus_g_connection_get_connection() returns NULL. "
-                    << "DBus daemon is probably not running.";
-      return false;
-    }
-
-    // Application don't exit if DBus daemon die.
-    GetSymbols()->dbus_connection_set_exit_on_disconnect()(
-        GetSymbols()->dbus_g_connection_get_connection()(connection_), FALSE);
-
-    // Connect all filters.
-    RegisterAllFilters();
-
-    return true;
-  }
-
-  // Cleans up the monitoring thread.
-  void CleanUp() {
-    if (idle_source_) {
-      // We did an attach() with the GSource, so we need to destroy() it.
-      g_source_destroy(idle_source_);
-      // We need to unref() the GSource to end the last reference we got.
-      g_source_unref(idle_source_);
-      idle_source_ = NULL;
-    }
-    if (connection_) {
-      if (GetSymbols()->dbus_g_connection_get_connection()(connection_)) {
-        UnRegisterAllFilters();
-        GetSymbols()->dbus_connection_close()(
-            GetSymbols()->dbus_g_connection_get_connection()(connection_));
-      }
-      GetSymbols()->dbus_g_connection_unref()(connection_);
-      connection_ = NULL;
-    }
-    g_main_loop_unref(mainloop_);
-    mainloop_ = NULL;
-    g_main_context_unref(context_);
-    context_ = NULL;
-  }
-
-  // Handles callback on Idle. We only add this source when ready to stop.
-  static gboolean Idle(gpointer data) {
-    static_cast<DBusMonitoringThread *>(data)->QuitGMainloop();
-    return TRUE;
-  }
-
-  // We only hit this when ready to quit.
-  void QuitGMainloop() {
-    g_main_loop_quit(mainloop_);
-  }
-
-  DBusMonitor *monitor_;
-
-  GMainContext *context_;
-  GMainLoop *mainloop_;
-  DBusGConnection *connection_;
-  GSource *idle_source_;
-
-  std::vector<DBusSigFilter *> *filter_list_;
-};
-
-// Implementation of class DBusMonitor
-
-// Returns DBus-Glib symbol handle. Initialize it first if hasn't.
-LibDBusGlibSymbolTable *DBusMonitor::GetDBusGlibSymbolTable() {
-  // This is multi-thread safe.
-  pthread_once(&g_dbus_init_once, InitializeDBusGlibSymbol);
-
-  return g_dbus_symbol;
-};
-
-// Creates an instance of DBusMonitor
-DBusMonitor *DBusMonitor::Create(DBusBusType type) {
-  if (NULL == DBusMonitor::GetDBusGlibSymbolTable()) {
-    return NULL;
-  }
-  return new DBusMonitor(type);
-}
-
-DBusMonitor::DBusMonitor(DBusBusType type)
-    : type_(type),
-      status_(DMS_NOT_INITIALIZED),
-      monitoring_thread_(NULL) {
-  ASSERT(type_ == DBUS_BUS_SYSTEM || type_ == DBUS_BUS_SESSION);
-}
-
-DBusMonitor::~DBusMonitor() {
-  StopMonitoring();
-}
-
-bool DBusMonitor::AddFilter(DBusSigFilter *filter) {
-  if (monitoring_thread_) {
-    return false;
-  }
-  if (!filter) {
-    return false;
-  }
-  filter_list_.push_back(filter);
-  return true;
-}
-
-bool DBusMonitor::StartMonitoring() {
-  if (!monitoring_thread_) {
-    g_type_init();
-    // g_thread_init API is deprecated since glib 2.31.0, see release note:
-    // http://mail.gnome.org/archives/gnome-announce-list/2011-October/msg00041.html
-#if !GLIB_CHECK_VERSION(2, 31, 0)
-    g_thread_init(NULL);
-#endif
-    GetSymbols()->dbus_g_thread_init()();
-
-    GMainContext *context = g_main_context_new();
-    if (NULL == context) {
-      LOG(LS_ERROR) << "g_main_context_new() failed.";
-      return false;
-    }
-
-    GMainLoop *mainloop = g_main_loop_new(context, FALSE);
-    if (NULL == mainloop) {
-      LOG(LS_ERROR) << "g_main_loop_new() failed.";
-      g_main_context_unref(context);
-      return false;
-    }
-
-    monitoring_thread_ = new DBusMonitoringThread(this, context, mainloop,
-                                                  &filter_list_);
-    if (monitoring_thread_ == NULL) {
-      LOG(LS_ERROR) << "Failed to create DBus monitoring thread.";
-      g_main_context_unref(context);
-      g_main_loop_unref(mainloop);
-      return false;
-    }
-    monitoring_thread_->Start();
-  }
-  return true;
-}
-
-bool DBusMonitor::StopMonitoring() {
-  if (monitoring_thread_) {
-    monitoring_thread_->Stop();
-    monitoring_thread_ = NULL;
-  }
-  return true;
-}
-
-DBusMonitor::DBusMonitorStatus DBusMonitor::GetStatus() {
-  return status_;
-}
-
-void DBusMonitor::OnMonitoringStatusChanged(DBusMonitorStatus status) {
-  status_ = status;
-}
-
-#undef LATE
-
-}  // namespace rtc
-
-#endif  // HAVE_DBUS_GLIB
diff --git a/webrtc/base/dbus.h b/webrtc/base/dbus.h
deleted file mode 100644
index fb90638..0000000
--- a/webrtc/base/dbus.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- *  Copyright 2004 The WebRTC Project Authors. All rights reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef WEBRTC_BASE_DBUS_H_
-#define WEBRTC_BASE_DBUS_H_
-
-#ifdef HAVE_DBUS_GLIB
-
-#include <dbus/dbus.h>
-
-#include <string>
-#include <vector>
-
-#include "webrtc/base/libdbusglibsymboltable.h"
-#include "webrtc/base/messagehandler.h"
-#include "webrtc/base/thread.h"
-
-namespace rtc {
-
-#define DBUS_TYPE                   "type"
-#define DBUS_SIGNAL                 "signal"
-#define DBUS_PATH                   "path"
-#define DBUS_INTERFACE              "interface"
-#define DBUS_MEMBER                 "member"
-
-#ifdef CHROMEOS
-#define CROS_PM_PATH                "/"
-#define CROS_PM_INTERFACE           "org.chromium.PowerManager"
-#define CROS_SIG_POWERCHANGED       "PowerStateChanged"
-#define CROS_VALUE_SLEEP            "mem"
-#define CROS_VALUE_RESUME           "on"
-#else
-#define UP_PATH                     "/org/freedesktop/UPower"
-#define UP_INTERFACE                "org.freedesktop.UPower"
-#define UP_SIG_SLEEPING             "Sleeping"
-#define UP_SIG_RESUMING             "Resuming"
-#endif  // CHROMEOS
-
-// Wraps a DBus messages.
-class DBusSigMessageData : public TypedMessageData<DBusMessage *> {
- public:
-  explicit DBusSigMessageData(DBusMessage *message);
-  ~DBusSigMessageData();
-};
-
-// DBusSigFilter is an abstract class that defines the interface of DBus
-// signal handling.
-// The subclasses implement ProcessSignal() for various purposes.
-// When a DBus signal comes, a DSM_SIGNAL message is posted to the caller thread
-// which will then invokes ProcessSignal().
-class DBusSigFilter : protected MessageHandler {
- public:
-  enum DBusSigMessage { DSM_SIGNAL };
-
-  // This filter string should ususally come from BuildFilterString()
-  explicit DBusSigFilter(const std::string &filter)
-      : caller_thread_(Thread::Current()), filter_(filter) {
-  }
-
-  // Builds a DBus monitor filter string from given DBus path, interface, and
-  // member.
-  // See http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html
-  static std::string BuildFilterString(const std::string &path,
-                                       const std::string &interface,
-                                       const std::string &member);
-
-  // Handles callback on DBus messages by DBus system.
-  static DBusHandlerResult DBusCallback(DBusConnection *dbus_conn,
-                                        DBusMessage *message,
-                                        void *instance);
-
-  // Handles callback on DBus messages to each DBusSigFilter instance.
-  DBusHandlerResult Callback(DBusMessage *message);
-
-  // From MessageHandler.
-  virtual void OnMessage(Message *message);
-
-  // Returns the DBus monitor filter string.
-  const std::string &filter() const { return filter_; }
-
- private:
-  // On caller thread.
-  virtual void ProcessSignal(DBusMessage *message) = 0;
-
-  Thread *caller_thread_;
-  const std::string filter_;
-};
-
-// DBusMonitor is a class for DBus signal monitoring.
-//
-// The caller-thread calls AddFilter() first to add the signals that it wants to
-// monitor and then calls StartMonitoring() to start the monitoring.
-// This will create a worker-thread which listens on DBus connection and sends
-// DBus signals back through the callback.
-// The worker-thread will be running forever until either StopMonitoring() is
-// called from the caller-thread or the worker-thread hit some error.
-//
-// Programming model:
-//   1. Caller-thread: Creates an object of DBusMonitor.
-//   2. Caller-thread: Calls DBusMonitor::AddFilter() one or several times.
-//   3. Caller-thread: StartMonitoring().
-//      ...
-//   4. Worker-thread: DBus signal recieved. Post a message to caller-thread.
-//   5. Caller-thread: DBusFilterBase::ProcessSignal() is invoked.
-//      ...
-//   6. Caller-thread: StopMonitoring().
-//
-// Assumption:
-//   AddFilter(), StartMonitoring(), and StopMonitoring() methods are called by
-//   a single thread. Hence, there is no need to make them thread safe.
-class DBusMonitor {
- public:
-  // Status of DBus monitoring.
-  enum DBusMonitorStatus {
-    DMS_NOT_INITIALIZED,  // Not initialized.
-    DMS_INITIALIZING,     // Initializing the monitoring thread.
-    DMS_RUNNING,          // Monitoring.
-    DMS_STOPPED,          // Not monitoring. Stopped normally.
-    DMS_FAILED,           // Not monitoring. Failed.
-  };
-
-  // Returns the DBus-Glib symbol table.
-  // We should only use this function to access DBus-Glib symbols.
-  static LibDBusGlibSymbolTable *GetDBusGlibSymbolTable();
-
-  // Creates an instance of DBusMonitor.
-  static DBusMonitor *Create(DBusBusType type);
-  ~DBusMonitor();
-
-  // Adds a filter to DBusMonitor.
-  bool AddFilter(DBusSigFilter *filter);
-
-  // Starts DBus message monitoring.
-  bool StartMonitoring();
-
-  // Stops DBus message monitoring.
-  bool StopMonitoring();
-
-  // Gets the status of DBus monitoring.
-  DBusMonitorStatus GetStatus();
-
- private:
-  // Forward declaration. Defined in the .cc file.
-  class DBusMonitoringThread;
-
-  explicit DBusMonitor(DBusBusType type);
-
-  // Updates status_ when monitoring status has changed.
-  void OnMonitoringStatusChanged(DBusMonitorStatus status);
-
-  DBusBusType type_;
-  DBusMonitorStatus status_;
-  DBusMonitoringThread *monitoring_thread_;
-  std::vector<DBusSigFilter *> filter_list_;
-};
-
-}  // namespace rtc
-
-#endif  // HAVE_DBUS_GLIB
-
-#endif  // WEBRTC_BASE_DBUS_H_
diff --git a/webrtc/base/dbus_unittest.cc b/webrtc/base/dbus_unittest.cc
deleted file mode 100644
index 38c507d..0000000
--- a/webrtc/base/dbus_unittest.cc
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- *  Copyright 2011 The WebRTC Project Authors. All rights reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifdef HAVE_DBUS_GLIB
-
-#include <memory>
-
-#include "webrtc/base/dbus.h"
-#include "webrtc/base/gunit.h"
-#include "webrtc/base/thread.h"
-
-namespace rtc {
-
-#define SIG_NAME "NameAcquired"
-
-static const uint32_t kTimeoutMs = 5000U;
-
-class DBusSigFilterTest : public DBusSigFilter {
- public:
-  // DBusSigFilterTest listens on DBus service itself for "NameAcquired" signal.
-  // This signal should be received when the application connects to DBus
-  // service and gains ownership of a name.
-  // http://dbus.freedesktop.org/doc/dbus-specification.html
-  DBusSigFilterTest()
-      : DBusSigFilter(GetFilter()),
-        message_received_(false) {
-  }
-
-  bool MessageReceived() {
-    return message_received_;
-  }
-
- private:
-  static std::string GetFilter() {
-    return rtc::DBusSigFilter::BuildFilterString("", "", SIG_NAME);
-  }
-
-  // Implement virtual method of DBusSigFilter. On caller thread.
-  virtual void ProcessSignal(DBusMessage *message) {
-    EXPECT_TRUE(message != NULL);
-    message_received_ = true;
-  }
-
-  bool message_received_;
-};
-
-TEST(DBusMonitorTest, StartStopStartStop) {
-  DBusSigFilterTest filter;
-  std::unique_ptr<rtc::DBusMonitor> monitor;
-  monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
-  if (monitor) {
-    EXPECT_TRUE(monitor->AddFilter(&filter));
-
-    EXPECT_TRUE(monitor->StopMonitoring());
-    EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_NOT_INITIALIZED);
-
-    EXPECT_TRUE(monitor->StartMonitoring());
-    EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
-    EXPECT_TRUE(monitor->StopMonitoring());
-    EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
-    EXPECT_TRUE(monitor->StopMonitoring());
-    EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
-
-    EXPECT_TRUE(monitor->StartMonitoring());
-    EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
-    EXPECT_TRUE(monitor->StartMonitoring());
-    EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_RUNNING);
-    EXPECT_TRUE(monitor->StopMonitoring());
-    EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
-  } else {
-    LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
-  }
-}
-
-// DBusMonitorTest listens on DBus service itself for "NameAcquired" signal.
-// This signal should be received when the application connects to DBus
-// service and gains ownership of a name.
-// This test is to make sure that we capture the "NameAcquired" signal.
-TEST(DBusMonitorTest, ReceivedNameAcquiredSignal) {
-  DBusSigFilterTest filter;
-  std::unique_ptr<rtc::DBusMonitor> monitor;
-  monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
-  if (monitor) {
-    EXPECT_TRUE(monitor->AddFilter(&filter));
-
-    EXPECT_TRUE(monitor->StartMonitoring());
-    EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
-    EXPECT_TRUE_WAIT(filter.MessageReceived(), kTimeoutMs);
-    EXPECT_TRUE(monitor->StopMonitoring());
-    EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
-  } else {
-    LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
-  }
-}
-
-TEST(DBusMonitorTest, ConcurrentMonitors) {
-  DBusSigFilterTest filter1;
-  std::unique_ptr<rtc::DBusMonitor> monitor1;
-  monitor1.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
-  if (monitor1) {
-    EXPECT_TRUE(monitor1->AddFilter(&filter1));
-    DBusSigFilterTest filter2;
-    std::unique_ptr<rtc::DBusMonitor> monitor2;
-    monitor2.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
-    EXPECT_TRUE(monitor2->AddFilter(&filter2));
-
-    EXPECT_TRUE(monitor1->StartMonitoring());
-    EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor1->GetStatus(), kTimeoutMs);
-    EXPECT_TRUE(monitor2->StartMonitoring());
-    EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor2->GetStatus(), kTimeoutMs);
-
-    EXPECT_TRUE_WAIT(filter2.MessageReceived(), kTimeoutMs);
-    EXPECT_TRUE(monitor2->StopMonitoring());
-    EXPECT_EQ(monitor2->GetStatus(), DBusMonitor::DMS_STOPPED);
-
-    EXPECT_TRUE_WAIT(filter1.MessageReceived(), kTimeoutMs);
-    EXPECT_TRUE(monitor1->StopMonitoring());
-    EXPECT_EQ(monitor1->GetStatus(), DBusMonitor::DMS_STOPPED);
-  } else {
-    LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
-  }
-}
-
-TEST(DBusMonitorTest, ConcurrentFilters) {
-  DBusSigFilterTest filter1;
-  DBusSigFilterTest filter2;
-  std::unique_ptr<rtc::DBusMonitor> monitor;
-  monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
-  if (monitor) {
-    EXPECT_TRUE(monitor->AddFilter(&filter1));
-    EXPECT_TRUE(monitor->AddFilter(&filter2));
-
-    EXPECT_TRUE(monitor->StartMonitoring());
-    EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
-
-    EXPECT_TRUE_WAIT(filter1.MessageReceived(), kTimeoutMs);
-    EXPECT_TRUE_WAIT(filter2.MessageReceived(), kTimeoutMs);
-
-    EXPECT_TRUE(monitor->StopMonitoring());
-    EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
-  } else {
-    LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
-  }
-}
-
-TEST(DBusMonitorTest, NoAddFilterIfRunning) {
-  DBusSigFilterTest filter1;
-  DBusSigFilterTest filter2;
-  std::unique_ptr<rtc::DBusMonitor> monitor;
-  monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
-  if (monitor) {
-    EXPECT_TRUE(monitor->AddFilter(&filter1));
-
-    EXPECT_TRUE(monitor->StartMonitoring());
-    EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
-    EXPECT_FALSE(monitor->AddFilter(&filter2));
-
-    EXPECT_TRUE(monitor->StopMonitoring());
-    EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
-  } else {
-    LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
-  }
-}
-
-TEST(DBusMonitorTest, AddFilterAfterStop) {
-  DBusSigFilterTest filter1;
-  DBusSigFilterTest filter2;
-  std::unique_ptr<rtc::DBusMonitor> monitor;
-  monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
-  if (monitor) {
-    EXPECT_TRUE(monitor->AddFilter(&filter1));
-    EXPECT_TRUE(monitor->StartMonitoring());
-    EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
-    EXPECT_TRUE_WAIT(filter1.MessageReceived(), kTimeoutMs);
-    EXPECT_TRUE(monitor->StopMonitoring());
-    EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
-
-    EXPECT_TRUE(monitor->AddFilter(&filter2));
-    EXPECT_TRUE(monitor->StartMonitoring());
-    EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
-    EXPECT_TRUE_WAIT(filter1.MessageReceived(), kTimeoutMs);
-    EXPECT_TRUE_WAIT(filter2.MessageReceived(), kTimeoutMs);
-    EXPECT_TRUE(monitor->StopMonitoring());
-    EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
-  } else {
-    LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
-  }
-}
-
-TEST(DBusMonitorTest, StopRightAfterStart) {
-  DBusSigFilterTest filter;
-  std::unique_ptr<rtc::DBusMonitor> monitor;
-  monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
-  if (monitor) {
-    EXPECT_TRUE(monitor->AddFilter(&filter));
-
-    EXPECT_TRUE(monitor->StartMonitoring());
-    EXPECT_TRUE(monitor->StopMonitoring());
-
-    // Stop the monitoring thread right after it had been started.
-    // If the monitoring thread got a chance to receive a DBus signal, it would
-    // post a message to the main thread and signal the main thread wakeup.
-    // This message will be cleaned out automatically when the filter get
-    // destructed. Here we also consume the wakeup signal (if there is one) so
-    // that the testing (main) thread is reset to a clean state.
-    rtc::Thread::Current()->ProcessMessages(1);
-  } else {
-    LOG(LS_WARNING) << "DBus Monitor not started.";
-  }
-}
-
-TEST(DBusSigFilter, BuildFilterString) {
-  EXPECT_EQ(DBusSigFilter::BuildFilterString("", "", ""),
-      (DBUS_TYPE "='" DBUS_SIGNAL "'"));
-  EXPECT_EQ(DBusSigFilter::BuildFilterString("p", "", ""),
-      (DBUS_TYPE "='" DBUS_SIGNAL "'," DBUS_PATH "='p'"));
-  EXPECT_EQ(DBusSigFilter::BuildFilterString("p","i", ""),
-      (DBUS_TYPE "='" DBUS_SIGNAL "'," DBUS_PATH "='p',"
-          DBUS_INTERFACE "='i'"));
-  EXPECT_EQ(DBusSigFilter::BuildFilterString("p","i","m"),
-      (DBUS_TYPE "='" DBUS_SIGNAL "'," DBUS_PATH "='p',"
-          DBUS_INTERFACE "='i'," DBUS_MEMBER "='m'"));
-}
-
-}  // namespace rtc
-
-#endif  // HAVE_DBUS_GLIB
diff --git a/webrtc/base/libdbusglibsymboltable.cc b/webrtc/base/libdbusglibsymboltable.cc
deleted file mode 100644
index ad51064..0000000
--- a/webrtc/base/libdbusglibsymboltable.cc
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- *  Copyright 2004 The WebRTC Project Authors. All rights reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifdef HAVE_DBUS_GLIB
-
-#include "webrtc/base/libdbusglibsymboltable.h"
-
-namespace rtc {
-
-#define LATE_BINDING_SYMBOL_TABLE_CLASS_NAME LIBDBUS_GLIB_CLASS_NAME
-#define LATE_BINDING_SYMBOL_TABLE_SYMBOLS_LIST LIBDBUS_GLIB_SYMBOLS_LIST
-#define LATE_BINDING_SYMBOL_TABLE_DLL_NAME "libdbus-glib-1.so.2"
-#include "webrtc/base/latebindingsymboltable.cc.def"
-
-}  // namespace rtc
-
-#endif  // HAVE_DBUS_GLIB
diff --git a/webrtc/base/libdbusglibsymboltable.h b/webrtc/base/libdbusglibsymboltable.h
deleted file mode 100644
index b87b4c1..0000000
--- a/webrtc/base/libdbusglibsymboltable.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  Copyright 2004 The WebRTC Project Authors. All rights reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef WEBRTC_BASE_LIBDBUSGLIBSYMBOLTABLE_H_
-#define WEBRTC_BASE_LIBDBUSGLIBSYMBOLTABLE_H_
-
-#ifdef HAVE_DBUS_GLIB
-
-#include <dbus/dbus-glib.h>
-#include <dbus/dbus-glib-lowlevel.h>
-
-#include "webrtc/base/latebindingsymboltable.h"
-
-namespace rtc {
-
-#define LIBDBUS_GLIB_CLASS_NAME LibDBusGlibSymbolTable
-// The libdbus-glib symbols we need, as an X-Macro list.
-// This list must contain precisely every libdbus-glib function that is used in
-// dbus.cc.
-#define LIBDBUS_GLIB_SYMBOLS_LIST \
-  X(dbus_bus_add_match) \
-  X(dbus_connection_add_filter) \
-  X(dbus_connection_close) \
-  X(dbus_connection_remove_filter) \
-  X(dbus_connection_set_exit_on_disconnect) \
-  X(dbus_g_bus_get) \
-  X(dbus_g_bus_get_private) \
-  X(dbus_g_connection_get_connection) \
-  X(dbus_g_connection_unref) \
-  X(dbus_g_thread_init) \
-  X(dbus_message_get_interface) \
-  X(dbus_message_get_member) \
-  X(dbus_message_get_path) \
-  X(dbus_message_get_type) \
-  X(dbus_message_iter_get_arg_type) \
-  X(dbus_message_iter_get_basic) \
-  X(dbus_message_iter_init) \
-  X(dbus_message_ref) \
-  X(dbus_message_unref)
-
-#define LATE_BINDING_SYMBOL_TABLE_CLASS_NAME LIBDBUS_GLIB_CLASS_NAME
-#define LATE_BINDING_SYMBOL_TABLE_SYMBOLS_LIST LIBDBUS_GLIB_SYMBOLS_LIST
-#include "webrtc/base/latebindingsymboltable.h.def"
-
-}  // namespace rtc
-
-#endif  // HAVE_DBUS_GLIB
-
-#endif  // WEBRTC_BASE_LIBDBUSGLIBSYMBOLTABLE_H_
diff --git a/webrtc/build/webrtc.gni b/webrtc/build/webrtc.gni
index 2198792..ced2c12 100644
--- a/webrtc/build/webrtc.gni
+++ b/webrtc/build/webrtc.gni
@@ -57,9 +57,6 @@
   rtc_build_ssl = true
   rtc_build_usrsctp = true
 
-  # Disable by default.
-  rtc_have_dbus_glib = false
-
   # Enable to use the Mozilla internal settings.
   build_with_mozilla = false