Merge from Chromium at DEPS revision r207203

This commit was generated by merge_to_master.py.

Change-Id: I5fbb6854d092096c4d39edc2865a48be1b53c418
diff --git a/device/bluetooth/bluetooth.gyp b/device/bluetooth/bluetooth.gyp
index cd4788b..9da5cda 100644
--- a/device/bluetooth/bluetooth.gyp
+++ b/device/bluetooth/bluetooth.gyp
@@ -21,8 +21,8 @@
       'sources': [
         'bluetooth_adapter.cc',
         'bluetooth_adapter.h',
-        'bluetooth_adapter_experimental_chromeos.cc',
-        'bluetooth_adapter_experimental_chromeos.h',
+        'bluetooth_adapter_chromeos.cc',
+        'bluetooth_adapter_chromeos.h',
         'bluetooth_adapter_factory.cc',
         'bluetooth_adapter_factory.h',
         'bluetooth_adapter_mac.h',
@@ -31,8 +31,8 @@
         'bluetooth_adapter_win.h',
         'bluetooth_device.cc',
         'bluetooth_device.h',
-        'bluetooth_device_experimental_chromeos.cc',
-        'bluetooth_device_experimental_chromeos.h',
+        'bluetooth_device_chromeos.cc',
+        'bluetooth_device_chromeos.h',
         'bluetooth_device_mac.h',
         'bluetooth_device_mac.mm',
         'bluetooth_device_win.cc',
@@ -42,8 +42,8 @@
         'bluetooth_out_of_band_pairing_data.h',
         'bluetooth_profile.cc',
         'bluetooth_profile.h',
-        'bluetooth_profile_experimental_chromeos.cc',
-        'bluetooth_profile_experimental_chromeos.h',
+        'bluetooth_profile_chromeos.cc',
+        'bluetooth_profile_chromeos.h',
         'bluetooth_profile_mac.h',
         'bluetooth_profile_mac.mm',
         'bluetooth_profile_win.cc',
@@ -55,8 +55,8 @@
         'bluetooth_service_record_win.cc',
         'bluetooth_service_record_win.h',
         'bluetooth_socket.h',
-        'bluetooth_socket_experimental_chromeos.cc',
-        'bluetooth_socket_experimental_chromeos.h',
+        'bluetooth_socket_chromeos.cc',
+        'bluetooth_socket_chromeos.h',
         'bluetooth_socket_mac.h',
         'bluetooth_socket_mac.mm',
         'bluetooth_socket_win.cc',
diff --git a/device/bluetooth/bluetooth_adapter_chromeos.cc b/device/bluetooth/bluetooth_adapter_chromeos.cc
new file mode 100644
index 0000000..b5f6ba0
--- /dev/null
+++ b/device/bluetooth/bluetooth_adapter_chromeos.cc
@@ -0,0 +1,451 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "device/bluetooth/bluetooth_adapter_chromeos.h"
+
+#include <string>
+
+#include "base/bind.h"
+#include "base/command_line.h"
+#include "base/logging.h"
+#include "base/metrics/histogram.h"
+#include "chromeos/chromeos_switches.h"
+#include "chromeos/dbus/bluetooth_adapter_client.h"
+#include "chromeos/dbus/bluetooth_device_client.h"
+#include "chromeos/dbus/bluetooth_input_client.h"
+#include "chromeos/dbus/dbus_thread_manager.h"
+#include "device/bluetooth/bluetooth_device.h"
+#include "device/bluetooth/bluetooth_device_chromeos.h"
+
+using device::BluetoothAdapter;
+using device::BluetoothDevice;
+
+namespace chromeos {
+
+BluetoothAdapterChromeOS::BluetoothAdapterChromeOS()
+    : weak_ptr_factory_(this) {
+  DBusThreadManager::Get()->GetBluetoothAdapterClient()->AddObserver(this);
+  DBusThreadManager::Get()->GetBluetoothDeviceClient()->AddObserver(this);
+  DBusThreadManager::Get()->GetBluetoothInputClient()->AddObserver(this);
+
+  std::vector<dbus::ObjectPath> object_paths =
+      DBusThreadManager::Get()->GetBluetoothAdapterClient()->GetAdapters();
+
+  if (!object_paths.empty()) {
+    VLOG(1) << object_paths.size() << " Bluetooth adapter(s) available.";
+    SetAdapter(object_paths[0]);
+  }
+}
+
+BluetoothAdapterChromeOS::~BluetoothAdapterChromeOS() {
+  DBusThreadManager::Get()->GetBluetoothAdapterClient()->RemoveObserver(this);
+  DBusThreadManager::Get()->GetBluetoothDeviceClient()->RemoveObserver(this);
+  DBusThreadManager::Get()->GetBluetoothInputClient()->RemoveObserver(this);
+}
+
+void BluetoothAdapterChromeOS::AddObserver(
+    BluetoothAdapter::Observer* observer) {
+  DCHECK(observer);
+  observers_.AddObserver(observer);
+}
+
+void BluetoothAdapterChromeOS::RemoveObserver(
+    BluetoothAdapter::Observer* observer) {
+  DCHECK(observer);
+  observers_.RemoveObserver(observer);
+}
+
+std::string BluetoothAdapterChromeOS::GetAddress() const {
+  if (!IsPresent())
+    return std::string();
+
+  BluetoothAdapterClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+          GetProperties(object_path_);
+  DCHECK(properties);
+
+  return properties->address.value();
+}
+
+std::string BluetoothAdapterChromeOS::GetName() const {
+  if (!IsPresent())
+    return std::string();
+
+  BluetoothAdapterClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+          GetProperties(object_path_);
+  DCHECK(properties);
+
+  return properties->alias.value();
+}
+
+bool BluetoothAdapterChromeOS::IsInitialized() const {
+  return true;
+}
+
+bool BluetoothAdapterChromeOS::IsPresent() const {
+  return !object_path_.value().empty();
+}
+
+bool BluetoothAdapterChromeOS::IsPowered() const {
+  if (!IsPresent())
+    return false;
+
+  BluetoothAdapterClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+          GetProperties(object_path_);
+
+  return properties->powered.value();
+}
+
+void BluetoothAdapterChromeOS::SetPowered(
+    bool powered,
+    const base::Closure& callback,
+    const ErrorCallback& error_callback) {
+  DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+      GetProperties(object_path_)->powered.Set(
+          powered,
+          base::Bind(&BluetoothAdapterChromeOS::OnSetPowered,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     callback,
+                     error_callback));
+}
+
+bool BluetoothAdapterChromeOS::IsDiscovering() const {
+  if (!IsPresent())
+    return false;
+
+  BluetoothAdapterClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+          GetProperties(object_path_);
+
+  return properties->discovering.value();
+}
+
+void BluetoothAdapterChromeOS::StartDiscovering(
+    const base::Closure& callback,
+    const ErrorCallback& error_callback) {
+  // BlueZ counts discovery sessions, and permits multiple sessions for a
+  // single connection, so issue a StartDiscovery() call for every use
+  // within Chromium for the right behavior.
+  DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+      StartDiscovery(
+          object_path_,
+          base::Bind(&BluetoothAdapterChromeOS::OnStartDiscovery,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     callback),
+          base::Bind(&BluetoothAdapterChromeOS::OnStartDiscoveryError,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     error_callback));
+}
+
+void BluetoothAdapterChromeOS::StopDiscovering(
+    const base::Closure& callback,
+    const ErrorCallback& error_callback) {
+  // Inform BlueZ to stop one of our open discovery sessions.
+  DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+      StopDiscovery(
+          object_path_,
+          base::Bind(&BluetoothAdapterChromeOS::OnStopDiscovery,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     callback),
+          base::Bind(&BluetoothAdapterChromeOS::OnStopDiscoveryError,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     error_callback));
+}
+
+void BluetoothAdapterChromeOS::ReadLocalOutOfBandPairingData(
+    const BluetoothAdapter::BluetoothOutOfBandPairingDataCallback& callback,
+    const ErrorCallback& error_callback) {
+  error_callback.Run();
+}
+
+void BluetoothAdapterChromeOS::AdapterAdded(
+    const dbus::ObjectPath& object_path) {
+  // Set the adapter to the newly added adapter only if no adapter is present.
+  if (!IsPresent())
+    SetAdapter(object_path);
+}
+
+void BluetoothAdapterChromeOS::AdapterRemoved(
+    const dbus::ObjectPath& object_path) {
+  if (object_path == object_path_)
+    RemoveAdapter();
+}
+
+void BluetoothAdapterChromeOS::AdapterPropertyChanged(
+    const dbus::ObjectPath& object_path,
+    const std::string& property_name) {
+  if (object_path != object_path_)
+    return;
+
+  BluetoothAdapterClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+          GetProperties(object_path_);
+
+  if (property_name == properties->powered.name())
+    PoweredChanged(properties->powered.value());
+  else if (property_name == properties->discovering.name())
+    DiscoveringChanged(properties->discovering.value());
+}
+
+void BluetoothAdapterChromeOS::DeviceAdded(
+  const dbus::ObjectPath& object_path) {
+  BluetoothDeviceClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothDeviceClient()->
+          GetProperties(object_path);
+  if (properties->adapter.value() != object_path_)
+    return;
+
+  BluetoothDeviceChromeOS* device_chromeos =
+      new BluetoothDeviceChromeOS(this, object_path);
+  DCHECK(devices_.find(device_chromeos->GetAddress()) == devices_.end());
+
+  devices_[device_chromeos->GetAddress()] = device_chromeos;
+
+  FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
+                    DeviceAdded(this, device_chromeos));
+}
+
+void BluetoothAdapterChromeOS::DeviceRemoved(
+    const dbus::ObjectPath& object_path) {
+  for (DevicesMap::iterator iter = devices_.begin();
+       iter != devices_.end(); ++iter) {
+    BluetoothDeviceChromeOS* device_chromeos =
+        static_cast<BluetoothDeviceChromeOS*>(iter->second);
+    if (device_chromeos->object_path() == object_path) {
+      devices_.erase(iter);
+
+      FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
+                        DeviceRemoved(this, device_chromeos));
+      delete device_chromeos;
+      return;
+    }
+  }
+}
+
+void BluetoothAdapterChromeOS::DevicePropertyChanged(
+    const dbus::ObjectPath& object_path,
+    const std::string& property_name) {
+  BluetoothDeviceChromeOS* device_chromeos = GetDeviceWithPath(object_path);
+  if (!device_chromeos)
+    return;
+
+  BluetoothDeviceClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothDeviceClient()->
+          GetProperties(object_path);
+
+  if (property_name == properties->bluetooth_class.name() ||
+      property_name == properties->address.name() ||
+      property_name == properties->alias.name() ||
+      property_name == properties->paired.name() ||
+      property_name == properties->trusted.name() ||
+      property_name == properties->connected.name() ||
+      property_name == properties->uuids.name())
+    NotifyDeviceChanged(device_chromeos);
+
+  // UMA connection counting
+  if (property_name == properties->connected.name()) {
+    int count = 0;
+
+    for (DevicesMap::iterator iter = devices_.begin();
+         iter != devices_.end(); ++iter) {
+      if (iter->second->IsPaired() && iter->second->IsConnected())
+        ++count;
+    }
+
+    UMA_HISTOGRAM_COUNTS_100("Bluetooth.ConnectedDeviceCount", count);
+  }
+}
+
+void BluetoothAdapterChromeOS::InputPropertyChanged(
+    const dbus::ObjectPath& object_path,
+    const std::string& property_name) {
+  BluetoothDeviceChromeOS* device_chromeos = GetDeviceWithPath(object_path);
+  if (!device_chromeos)
+    return;
+
+  BluetoothInputClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothInputClient()->
+          GetProperties(object_path);
+
+  // Properties structure can be removed, which triggers a change in the
+  // BluetoothDevice::IsConnectable() property, as does a change in the
+  // actual reconnect_mode property.
+  if (!properties ||
+      property_name == properties->reconnect_mode.name())
+    NotifyDeviceChanged(device_chromeos);
+}
+
+BluetoothDeviceChromeOS*
+BluetoothAdapterChromeOS::GetDeviceWithPath(
+    const dbus::ObjectPath& object_path) {
+  for (DevicesMap::iterator iter = devices_.begin();
+       iter != devices_.end(); ++iter) {
+    BluetoothDeviceChromeOS* device_chromeos =
+        static_cast<BluetoothDeviceChromeOS*>(iter->second);
+    if (device_chromeos->object_path() == object_path)
+      return device_chromeos;
+  }
+
+  return NULL;
+}
+
+void BluetoothAdapterChromeOS::SetAdapter(const dbus::ObjectPath& object_path) {
+  DCHECK(!IsPresent());
+  object_path_ = object_path;
+
+  VLOG(1) << object_path_.value() << ": using adapter.";
+
+  SetAdapterName();
+
+  BluetoothAdapterClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+          GetProperties(object_path_);
+
+  PresentChanged(true);
+
+  if (properties->powered.value())
+    PoweredChanged(true);
+  if (properties->discovering.value())
+    DiscoveringChanged(true);
+
+  std::vector<dbus::ObjectPath> device_paths =
+      DBusThreadManager::Get()->GetBluetoothDeviceClient()->
+          GetDevicesForAdapter(object_path_);
+
+  for (std::vector<dbus::ObjectPath>::iterator iter = device_paths.begin();
+       iter != device_paths.end(); ++iter) {
+    BluetoothDeviceChromeOS* device_chromeos =
+        new BluetoothDeviceChromeOS(this, *iter);
+
+    devices_[device_chromeos->GetAddress()] = device_chromeos;
+
+    FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
+                      DeviceAdded(this, device_chromeos));
+  }
+}
+
+void BluetoothAdapterChromeOS::SetAdapterName() {
+  // Set a better name for the adapter than "BlueZ 5.x"; this isn't an ideal
+  // way to do this but it'll do for now. See http://crbug.com/126732 and
+  // http://crbug.com/126802.
+  std::string board;
+  const CommandLine* command_line = CommandLine::ForCurrentProcess();
+  if (command_line->HasSwitch(chromeos::switches::kChromeOSReleaseBoard)) {
+    board = command_line->
+        GetSwitchValueASCII(chromeos::switches::kChromeOSReleaseBoard);
+  }
+
+  std::string alias;
+  if (board.substr(0, 6) == "stumpy") {
+    alias = "Chromebox";
+  } else if (board.substr(0, 4) == "link") {
+    alias = "Chromebook Pixel";
+  } else {
+    alias = "Chromebook";
+  }
+
+  DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+      GetProperties(object_path_)->alias.Set(
+          alias,
+          base::Bind(&BluetoothAdapterChromeOS::OnSetAlias,
+                     weak_ptr_factory_.GetWeakPtr()));
+}
+
+void BluetoothAdapterChromeOS::OnSetAlias(bool success) {
+  LOG_IF(WARNING, !success) << object_path_.value()
+                            << ": Failed to set adapter alias";
+}
+
+void BluetoothAdapterChromeOS::RemoveAdapter() {
+  DCHECK(IsPresent());
+  VLOG(1) << object_path_.value() << ": adapter removed.";
+
+  BluetoothAdapterClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothAdapterClient()->
+          GetProperties(object_path_);
+
+  object_path_ = dbus::ObjectPath("");
+
+  if (properties->powered.value())
+    PoweredChanged(false);
+  if (properties->discovering.value())
+    DiscoveringChanged(false);
+
+  // Copy the devices list here and clear the original so that when we
+  // send DeviceRemoved(), GetDevices() returns no devices.
+  DevicesMap devices = devices_;
+  devices_.clear();
+
+  for (DevicesMap::iterator iter = devices.begin();
+       iter != devices.end(); ++iter) {
+    FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
+                      DeviceRemoved(this, iter->second));
+    delete iter->second;
+  }
+
+  PresentChanged(false);
+}
+
+void BluetoothAdapterChromeOS::PoweredChanged(bool powered) {
+  FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
+                    AdapterPoweredChanged(this, powered));
+}
+
+void BluetoothAdapterChromeOS::DiscoveringChanged(
+    bool discovering) {
+  FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
+                    AdapterDiscoveringChanged(this, discovering));
+}
+
+void BluetoothAdapterChromeOS::PresentChanged(bool present) {
+  FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
+                    AdapterPresentChanged(this, present));
+}
+
+void BluetoothAdapterChromeOS::NotifyDeviceChanged(
+    BluetoothDeviceChromeOS* device) {
+  DCHECK(device->adapter_ == this);
+
+  FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
+                    DeviceChanged(this, device));
+}
+
+void BluetoothAdapterChromeOS::OnSetPowered(const base::Closure& callback,
+                                            const ErrorCallback& error_callback,
+                                            bool success) {
+  if (success)
+    callback.Run();
+  else
+    error_callback.Run();
+}
+
+void BluetoothAdapterChromeOS::OnStartDiscovery(const base::Closure& callback) {
+  callback.Run();
+}
+
+void BluetoothAdapterChromeOS::OnStartDiscoveryError(
+    const ErrorCallback& error_callback,
+    const std::string& error_name,
+    const std::string& error_message) {
+  LOG(WARNING) << object_path_.value() << ": Failed to start discovery: "
+               << error_name << ": " << error_message;
+  error_callback.Run();
+}
+
+void BluetoothAdapterChromeOS::OnStopDiscovery(const base::Closure& callback) {
+  callback.Run();
+}
+
+void BluetoothAdapterChromeOS::OnStopDiscoveryError(
+    const ErrorCallback& error_callback,
+    const std::string& error_name,
+    const std::string& error_message) {
+  LOG(WARNING) << object_path_.value() << ": Failed to stop discovery: "
+               << error_name << ": " << error_message;
+  error_callback.Run();
+}
+
+}  // namespace chromeos
diff --git a/device/bluetooth/bluetooth_adapter_experimental_chromeos.h b/device/bluetooth/bluetooth_adapter_chromeos.h
similarity index 71%
rename from device/bluetooth/bluetooth_adapter_experimental_chromeos.h
rename to device/bluetooth/bluetooth_adapter_chromeos.h
index 80dce84..74beb35 100644
--- a/device/bluetooth/bluetooth_adapter_experimental_chromeos.h
+++ b/device/bluetooth/bluetooth_adapter_chromeos.h
@@ -1,16 +1,16 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_EXPERIMENTAL_CHROMEOS_H_
-#define DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_EXPERIMENTAL_CHROMEOS_H_
+#ifndef DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_CHROMEOS_H_
+#define DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_CHROMEOS_H_
 
 #include <string>
 
 #include "base/memory/weak_ptr.h"
-#include "chromeos/dbus/experimental_bluetooth_adapter_client.h"
-#include "chromeos/dbus/experimental_bluetooth_device_client.h"
-#include "chromeos/dbus/experimental_bluetooth_input_client.h"
+#include "chromeos/dbus/bluetooth_adapter_client.h"
+#include "chromeos/dbus/bluetooth_device_client.h"
+#include "chromeos/dbus/bluetooth_input_client.h"
 #include "dbus/object_path.h"
 #include "device/bluetooth/bluetooth_adapter.h"
 
@@ -22,18 +22,16 @@
 
 namespace chromeos {
 
-class BluetoothDeviceExperimentalChromeOS;
-class BluetoothExperimentalChromeOSTest;
+class BluetoothChromeOSTest;
+class BluetoothDeviceChromeOS;
 
-// The BluetoothAdapterExperimentalChromeOS class is an alternate implementation
-// of BluetoothAdapter for the Chrome OS platform using the Bluetooth Smart
-// capable backend. It will become the sole implementation for Chrome OS, and
-// be renamed to BluetoothAdapterChromeOS, once the backend is switched,
-class BluetoothAdapterExperimentalChromeOS
+// The BluetoothAdapterChromeOS class implements BluetoothAdapter for the
+// Chrome OS platform.
+class BluetoothAdapterChromeOS
     : public device::BluetoothAdapter,
-      private chromeos::ExperimentalBluetoothAdapterClient::Observer,
-      private chromeos::ExperimentalBluetoothDeviceClient::Observer,
-      private chromeos::ExperimentalBluetoothInputClient::Observer {
+      private chromeos::BluetoothAdapterClient::Observer,
+      private chromeos::BluetoothDeviceClient::Observer,
+      private chromeos::BluetoothInputClient::Observer {
  public:
   // BluetoothAdapter override
   virtual void AddObserver(
@@ -63,34 +61,34 @@
 
  private:
   friend class device::BluetoothAdapterFactory;
-  friend class BluetoothDeviceExperimentalChromeOS;
-  friend class BluetoothExperimentalChromeOSTest;
-  friend class BluetoothProfileExperimentalChromeOS;
+  friend class BluetoothChromeOSTest;
+  friend class BluetoothDeviceChromeOS;
+  friend class BluetoothProfileChromeOS;
   friend class BluetoothProfileChromeOSTest;
 
-  BluetoothAdapterExperimentalChromeOS();
-  virtual ~BluetoothAdapterExperimentalChromeOS();
+  BluetoothAdapterChromeOS();
+  virtual ~BluetoothAdapterChromeOS();
 
-  // ExperimentalBluetoothAdapterClient::Observer override.
+  // BluetoothAdapterClient::Observer override.
   virtual void AdapterAdded(const dbus::ObjectPath& object_path) OVERRIDE;
   virtual void AdapterRemoved(const dbus::ObjectPath& object_path) OVERRIDE;
   virtual void AdapterPropertyChanged(
       const dbus::ObjectPath& object_path,
       const std::string& property_name) OVERRIDE;
 
-  // ExperimentalBluetoothDeviceClient::Observer override.
+  // BluetoothDeviceClient::Observer override.
   virtual void DeviceAdded(const dbus::ObjectPath& object_path) OVERRIDE;
   virtual void DeviceRemoved(const dbus::ObjectPath& object_path) OVERRIDE;
   virtual void DevicePropertyChanged(const dbus::ObjectPath& object_path,
                                      const std::string& property_name) OVERRIDE;
 
-  // ExperimentalBluetoothInputClient::Observer override.
+  // BluetoothInputClient::Observer override.
   virtual void InputPropertyChanged(const dbus::ObjectPath& object_path,
                                     const std::string& property_name) OVERRIDE;
 
   // Internal method used to locate the device object by object path
   // (the devices map and BluetoothDevice methods are by address)
-  BluetoothDeviceExperimentalChromeOS* GetDeviceWithPath(
+  BluetoothDeviceChromeOS* GetDeviceWithPath(
       const dbus::ObjectPath& object_path);
 
   // Set the tracked adapter to the one in |object_path|, this object will
@@ -113,7 +111,7 @@
 
   // Announce to observers a change in device state that is not reflected by
   // its D-Bus properties.
-  void NotifyDeviceChanged(BluetoothDeviceExperimentalChromeOS* device);
+  void NotifyDeviceChanged(BluetoothDeviceChromeOS* device);
 
   // Called by dbus:: on completion of the powered property change.
   void OnSetPowered(const base::Closure& callback,
@@ -140,11 +138,11 @@
 
   // Note: This should remain the last member so it'll be destroyed and
   // invalidate its weak pointers before any other members are destroyed.
-  base::WeakPtrFactory<BluetoothAdapterExperimentalChromeOS> weak_ptr_factory_;
+  base::WeakPtrFactory<BluetoothAdapterChromeOS> weak_ptr_factory_;
 
-  DISALLOW_COPY_AND_ASSIGN(BluetoothAdapterExperimentalChromeOS);
+  DISALLOW_COPY_AND_ASSIGN(BluetoothAdapterChromeOS);
 };
 
 }  // namespace chromeos
 
-#endif  // DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_EXPERIMENTAL_CHROMEOS_H_
+#endif  // DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_CHROMEOS_H_
diff --git a/device/bluetooth/bluetooth_adapter_experimental_chromeos.cc b/device/bluetooth/bluetooth_adapter_experimental_chromeos.cc
deleted file mode 100644
index 579dbb5..0000000
--- a/device/bluetooth/bluetooth_adapter_experimental_chromeos.cc
+++ /dev/null
@@ -1,468 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "device/bluetooth/bluetooth_adapter_experimental_chromeos.h"
-
-#include <string>
-
-#include "base/bind.h"
-#include "base/command_line.h"
-#include "base/logging.h"
-#include "base/metrics/histogram.h"
-#include "chromeos/chromeos_switches.h"
-#include "chromeos/dbus/dbus_thread_manager.h"
-#include "chromeos/dbus/experimental_bluetooth_adapter_client.h"
-#include "chromeos/dbus/experimental_bluetooth_device_client.h"
-#include "chromeos/dbus/experimental_bluetooth_input_client.h"
-#include "device/bluetooth/bluetooth_device.h"
-#include "device/bluetooth/bluetooth_device_experimental_chromeos.h"
-
-using device::BluetoothAdapter;
-using device::BluetoothDevice;
-
-namespace chromeos {
-
-BluetoothAdapterExperimentalChromeOS::BluetoothAdapterExperimentalChromeOS()
-    : weak_ptr_factory_(this) {
-  DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-      AddObserver(this);
-  DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
-      AddObserver(this);
-  DBusThreadManager::Get()->GetExperimentalBluetoothInputClient()->
-      AddObserver(this);
-
-  std::vector<dbus::ObjectPath> object_paths =
-      DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-          GetAdapters();
-
-  if (!object_paths.empty()) {
-    VLOG(1) << object_paths.size() << " Bluetooth adapter(s) available.";
-    SetAdapter(object_paths[0]);
-  }
-}
-
-BluetoothAdapterExperimentalChromeOS::~BluetoothAdapterExperimentalChromeOS() {
-  DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-      RemoveObserver(this);
-  DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
-      RemoveObserver(this);
-  DBusThreadManager::Get()->GetExperimentalBluetoothInputClient()->
-      RemoveObserver(this);
-}
-
-void BluetoothAdapterExperimentalChromeOS::AddObserver(
-    BluetoothAdapter::Observer* observer) {
-  DCHECK(observer);
-  observers_.AddObserver(observer);
-}
-
-void BluetoothAdapterExperimentalChromeOS::RemoveObserver(
-    BluetoothAdapter::Observer* observer) {
-  DCHECK(observer);
-  observers_.RemoveObserver(observer);
-}
-
-std::string BluetoothAdapterExperimentalChromeOS::GetAddress() const {
-  if (!IsPresent())
-    return std::string();
-
-  ExperimentalBluetoothAdapterClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-          GetProperties(object_path_);
-  DCHECK(properties);
-
-  return properties->address.value();
-}
-
-std::string BluetoothAdapterExperimentalChromeOS::GetName() const {
-  if (!IsPresent())
-    return std::string();
-
-  ExperimentalBluetoothAdapterClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-          GetProperties(object_path_);
-  DCHECK(properties);
-
-  return properties->alias.value();
-}
-
-bool BluetoothAdapterExperimentalChromeOS::IsInitialized() const {
-  return true;
-}
-
-bool BluetoothAdapterExperimentalChromeOS::IsPresent() const {
-  return !object_path_.value().empty();
-}
-
-bool BluetoothAdapterExperimentalChromeOS::IsPowered() const {
-  if (!IsPresent())
-    return false;
-
-  ExperimentalBluetoothAdapterClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-          GetProperties(object_path_);
-
-  return properties->powered.value();
-}
-
-void BluetoothAdapterExperimentalChromeOS::SetPowered(
-    bool powered,
-    const base::Closure& callback,
-    const ErrorCallback& error_callback) {
-  DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-      GetProperties(object_path_)->powered.Set(
-          powered,
-          base::Bind(&BluetoothAdapterExperimentalChromeOS::OnSetPowered,
-                     weak_ptr_factory_.GetWeakPtr(),
-                     callback,
-                     error_callback));
-}
-
-bool BluetoothAdapterExperimentalChromeOS::IsDiscovering() const {
-  if (!IsPresent())
-    return false;
-
-  ExperimentalBluetoothAdapterClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-          GetProperties(object_path_);
-
-  return properties->discovering.value();
-}
-
-void BluetoothAdapterExperimentalChromeOS::StartDiscovering(
-    const base::Closure& callback,
-    const ErrorCallback& error_callback) {
-  // BlueZ counts discovery sessions, and permits multiple sessions for a
-  // single connection, so issue a StartDiscovery() call for every use
-  // within Chromium for the right behavior.
-  DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-      StartDiscovery(
-          object_path_,
-          base::Bind(
-              &BluetoothAdapterExperimentalChromeOS::OnStartDiscovery,
-              weak_ptr_factory_.GetWeakPtr(),
-              callback),
-          base::Bind(
-              &BluetoothAdapterExperimentalChromeOS::OnStartDiscoveryError,
-              weak_ptr_factory_.GetWeakPtr(),
-              error_callback));
-}
-
-void BluetoothAdapterExperimentalChromeOS::StopDiscovering(
-    const base::Closure& callback,
-    const ErrorCallback& error_callback) {
-  // Inform BlueZ to stop one of our open discovery sessions.
-  DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-      StopDiscovery(
-          object_path_,
-          base::Bind(
-              &BluetoothAdapterExperimentalChromeOS::OnStopDiscovery,
-              weak_ptr_factory_.GetWeakPtr(),
-              callback),
-          base::Bind(
-              &BluetoothAdapterExperimentalChromeOS::OnStopDiscoveryError,
-              weak_ptr_factory_.GetWeakPtr(),
-              error_callback));
-}
-
-void BluetoothAdapterExperimentalChromeOS::ReadLocalOutOfBandPairingData(
-    const BluetoothAdapter::BluetoothOutOfBandPairingDataCallback& callback,
-    const ErrorCallback& error_callback) {
-  error_callback.Run();
-}
-
-void BluetoothAdapterExperimentalChromeOS::AdapterAdded(
-    const dbus::ObjectPath& object_path) {
-  // Set the adapter to the newly added adapter only if no adapter is present.
-  if (!IsPresent())
-    SetAdapter(object_path);
-}
-
-void BluetoothAdapterExperimentalChromeOS::AdapterRemoved(
-    const dbus::ObjectPath& object_path) {
-  if (object_path == object_path_)
-    RemoveAdapter();
-}
-
-void BluetoothAdapterExperimentalChromeOS::AdapterPropertyChanged(
-    const dbus::ObjectPath& object_path,
-    const std::string& property_name) {
-  if (object_path != object_path_)
-    return;
-
-  ExperimentalBluetoothAdapterClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-          GetProperties(object_path_);
-
-  if (property_name == properties->powered.name())
-    PoweredChanged(properties->powered.value());
-  else if (property_name == properties->discovering.name())
-    DiscoveringChanged(properties->discovering.value());
-}
-
-void BluetoothAdapterExperimentalChromeOS::DeviceAdded(
-  const dbus::ObjectPath& object_path) {
-  ExperimentalBluetoothDeviceClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
-          GetProperties(object_path);
-  if (properties->adapter.value() != object_path_)
-    return;
-
-  BluetoothDeviceExperimentalChromeOS* device_chromeos =
-      new BluetoothDeviceExperimentalChromeOS(this, object_path);
-  DCHECK(devices_.find(device_chromeos->GetAddress()) == devices_.end());
-
-  devices_[device_chromeos->GetAddress()] = device_chromeos;
-
-  FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
-                    DeviceAdded(this, device_chromeos));
-}
-
-void BluetoothAdapterExperimentalChromeOS::DeviceRemoved(
-    const dbus::ObjectPath& object_path) {
-  for (DevicesMap::iterator iter = devices_.begin();
-       iter != devices_.end(); ++iter) {
-    BluetoothDeviceExperimentalChromeOS* device_chromeos =
-        static_cast<BluetoothDeviceExperimentalChromeOS*>(iter->second);
-    if (device_chromeos->object_path() == object_path) {
-      devices_.erase(iter);
-
-      FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
-                        DeviceRemoved(this, device_chromeos));
-      delete device_chromeos;
-      return;
-    }
-  }
-}
-
-void BluetoothAdapterExperimentalChromeOS::DevicePropertyChanged(
-    const dbus::ObjectPath& object_path,
-    const std::string& property_name) {
-  BluetoothDeviceExperimentalChromeOS* device_chromeos =
-      GetDeviceWithPath(object_path);
-  if (!device_chromeos)
-    return;
-
-  ExperimentalBluetoothDeviceClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
-          GetProperties(object_path);
-
-  if (property_name == properties->bluetooth_class.name() ||
-      property_name == properties->address.name() ||
-      property_name == properties->alias.name() ||
-      property_name == properties->paired.name() ||
-      property_name == properties->trusted.name() ||
-      property_name == properties->connected.name() ||
-      property_name == properties->uuids.name())
-    NotifyDeviceChanged(device_chromeos);
-
-  // UMA connection counting
-  if (property_name == properties->connected.name()) {
-    int count = 0;
-
-    for (DevicesMap::iterator iter = devices_.begin();
-         iter != devices_.end(); ++iter) {
-      if (iter->second->IsPaired() && iter->second->IsConnected())
-        ++count;
-    }
-
-    UMA_HISTOGRAM_COUNTS_100("Bluetooth.ConnectedDeviceCount", count);
-  }
-}
-
-void BluetoothAdapterExperimentalChromeOS::InputPropertyChanged(
-    const dbus::ObjectPath& object_path,
-    const std::string& property_name) {
-  BluetoothDeviceExperimentalChromeOS* device_chromeos =
-      GetDeviceWithPath(object_path);
-  if (!device_chromeos)
-    return;
-
-  ExperimentalBluetoothInputClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothInputClient()->
-          GetProperties(object_path);
-
-  // Properties structure can be removed, which triggers a change in the
-  // BluetoothDevice::IsConnectable() property, as does a change in the
-  // actual reconnect_mode property.
-  if (!properties ||
-      property_name == properties->reconnect_mode.name())
-    NotifyDeviceChanged(device_chromeos);
-}
-
-BluetoothDeviceExperimentalChromeOS*
-BluetoothAdapterExperimentalChromeOS::GetDeviceWithPath(
-    const dbus::ObjectPath& object_path) {
-  for (DevicesMap::iterator iter = devices_.begin();
-       iter != devices_.end(); ++iter) {
-    BluetoothDeviceExperimentalChromeOS* device_chromeos =
-        static_cast<BluetoothDeviceExperimentalChromeOS*>(iter->second);
-    if (device_chromeos->object_path() == object_path)
-      return device_chromeos;
-  }
-
-  return NULL;
-}
-
-void BluetoothAdapterExperimentalChromeOS::SetAdapter(
-    const dbus::ObjectPath& object_path) {
-  DCHECK(!IsPresent());
-  object_path_ = object_path;
-
-  VLOG(1) << object_path_.value() << ": using adapter.";
-
-  SetAdapterName();
-
-  ExperimentalBluetoothAdapterClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-          GetProperties(object_path_);
-
-  PresentChanged(true);
-
-  if (properties->powered.value())
-    PoweredChanged(true);
-  if (properties->discovering.value())
-    DiscoveringChanged(true);
-
-  std::vector<dbus::ObjectPath> device_paths =
-      DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
-          GetDevicesForAdapter(object_path_);
-
-  for (std::vector<dbus::ObjectPath>::iterator iter = device_paths.begin();
-       iter != device_paths.end(); ++iter) {
-    BluetoothDeviceExperimentalChromeOS* device_chromeos =
-        new BluetoothDeviceExperimentalChromeOS(this, *iter);
-
-    devices_[device_chromeos->GetAddress()] = device_chromeos;
-
-    FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
-                      DeviceAdded(this, device_chromeos));
-  }
-}
-
-void BluetoothAdapterExperimentalChromeOS::SetAdapterName() {
-  // Set a better name for the adapter than "BlueZ 5.x"; this isn't an ideal
-  // way to do this but it'll do for now. See http://crbug.com/126732 and
-  // http://crbug.com/126802.
-  std::string board;
-  const CommandLine* command_line = CommandLine::ForCurrentProcess();
-  if (command_line->HasSwitch(chromeos::switches::kChromeOSReleaseBoard)) {
-    board = command_line->
-        GetSwitchValueASCII(chromeos::switches::kChromeOSReleaseBoard);
-  }
-
-  std::string alias;
-  if (board.substr(0, 6) == "stumpy") {
-    alias = "Chromebox";
-  } else if (board.substr(0, 4) == "link") {
-    alias = "Chromebook Pixel";
-  } else {
-    alias = "Chromebook";
-  }
-
-  DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-      GetProperties(object_path_)->alias.Set(
-          alias,
-          base::Bind(&BluetoothAdapterExperimentalChromeOS::OnSetAlias,
-                     weak_ptr_factory_.GetWeakPtr()));
-}
-
-void BluetoothAdapterExperimentalChromeOS::OnSetAlias(bool success) {
-  LOG_IF(WARNING, !success) << object_path_.value()
-                            << ": Failed to set adapter alias";
-}
-
-void BluetoothAdapterExperimentalChromeOS::RemoveAdapter() {
-  DCHECK(IsPresent());
-  VLOG(1) << object_path_.value() << ": adapter removed.";
-
-  ExperimentalBluetoothAdapterClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
-          GetProperties(object_path_);
-
-  object_path_ = dbus::ObjectPath("");
-
-  if (properties->powered.value())
-    PoweredChanged(false);
-  if (properties->discovering.value())
-    DiscoveringChanged(false);
-
-  // Copy the devices list here and clear the original so that when we
-  // send DeviceRemoved(), GetDevices() returns no devices.
-  DevicesMap devices = devices_;
-  devices_.clear();
-
-  for (DevicesMap::iterator iter = devices.begin();
-       iter != devices.end(); ++iter) {
-    FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
-                      DeviceRemoved(this, iter->second));
-    delete iter->second;
-  }
-
-  PresentChanged(false);
-}
-
-void BluetoothAdapterExperimentalChromeOS::PoweredChanged(bool powered) {
-  FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
-                    AdapterPoweredChanged(this, powered));
-}
-
-void BluetoothAdapterExperimentalChromeOS::DiscoveringChanged(
-    bool discovering) {
-  FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
-                    AdapterDiscoveringChanged(this, discovering));
-}
-
-void BluetoothAdapterExperimentalChromeOS::PresentChanged(bool present) {
-  FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
-                    AdapterPresentChanged(this, present));
-}
-
-void BluetoothAdapterExperimentalChromeOS::NotifyDeviceChanged(
-    BluetoothDeviceExperimentalChromeOS* device) {
-  DCHECK(device->adapter_ == this);
-
-  FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_,
-                    DeviceChanged(this, device));
-}
-
-void BluetoothAdapterExperimentalChromeOS::OnSetPowered(
-    const base::Closure& callback,
-    const ErrorCallback& error_callback,
-    bool success) {
-  if (success)
-    callback.Run();
-  else
-    error_callback.Run();
-}
-
-void BluetoothAdapterExperimentalChromeOS::OnStartDiscovery(
-    const base::Closure& callback) {
-  callback.Run();
-}
-
-void BluetoothAdapterExperimentalChromeOS::OnStartDiscoveryError(
-    const ErrorCallback& error_callback,
-    const std::string& error_name,
-    const std::string& error_message) {
-  LOG(WARNING) << object_path_.value() << ": Failed to start discovery: "
-               << error_name << ": " << error_message;
-  error_callback.Run();
-}
-
-void BluetoothAdapterExperimentalChromeOS::OnStopDiscovery(
-    const base::Closure& callback) {
-  callback.Run();
-}
-
-void BluetoothAdapterExperimentalChromeOS::OnStopDiscoveryError(
-    const ErrorCallback& error_callback,
-    const std::string& error_name,
-    const std::string& error_message) {
-  LOG(WARNING) << object_path_.value() << ": Failed to stop discovery: "
-               << error_name << ": " << error_message;
-  error_callback.Run();
-}
-
-}  // namespace chromeos
diff --git a/device/bluetooth/bluetooth_adapter_factory.cc b/device/bluetooth/bluetooth_adapter_factory.cc
index 0b9d160..262c95b 100644
--- a/device/bluetooth/bluetooth_adapter_factory.cc
+++ b/device/bluetooth/bluetooth_adapter_factory.cc
@@ -13,7 +13,7 @@
 #include "device/bluetooth/bluetooth_adapter.h"
 
 #if defined(OS_CHROMEOS)
-#include "device/bluetooth/bluetooth_adapter_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_adapter_chromeos.h"
 #elif defined(OS_WIN)
 #include "device/bluetooth/bluetooth_adapter_win.h"
 #elif defined(OS_MACOSX)
@@ -74,8 +74,8 @@
 void BluetoothAdapterFactory::GetAdapter(const AdapterCallback& callback) {
   if (!default_adapter.Get().get()) {
 #if defined(OS_CHROMEOS)
-    chromeos::BluetoothAdapterExperimentalChromeOS* new_adapter =
-        new chromeos::BluetoothAdapterExperimentalChromeOS();
+    chromeos::BluetoothAdapterChromeOS* new_adapter =
+        new chromeos::BluetoothAdapterChromeOS();
     default_adapter.Get() = new_adapter->weak_ptr_factory_.GetWeakPtr();
 #elif defined(OS_WIN)
     BluetoothAdapterWin* new_adapter = new BluetoothAdapterWin(
diff --git a/device/bluetooth/bluetooth_adapter_mac.h b/device/bluetooth/bluetooth_adapter_mac.h
index 0886076..7054acf 100644
--- a/device/bluetooth/bluetooth_adapter_mac.h
+++ b/device/bluetooth/bluetooth_adapter_mac.h
@@ -10,7 +10,7 @@
 #include <string>
 #include <vector>
 
-#include "base/hash_tables.h"
+#include "base/containers/hash_tables.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
 #include "base/observer_list.h"
diff --git a/device/bluetooth/bluetooth_adapter_mac.mm b/device/bluetooth/bluetooth_adapter_mac.mm
index 00d6737..ac2127b 100644
--- a/device/bluetooth/bluetooth_adapter_mac.mm
+++ b/device/bluetooth/bluetooth_adapter_mac.mm
@@ -4,22 +4,22 @@
 
 #include "device/bluetooth/bluetooth_adapter_mac.h"
 
-#import <IOBluetooth/objc/IOBluetoothDeviceInquiry.h>
 #import <IOBluetooth/objc/IOBluetoothDevice.h>
+#import <IOBluetooth/objc/IOBluetoothDeviceInquiry.h>
 #import <IOBluetooth/objc/IOBluetoothHostController.h>
 
 #include <string>
 
 #include "base/bind.h"
 #include "base/compiler_specific.h"
-#include "base/hash_tables.h"
+#include "base/containers/hash_tables.h"
 #include "base/location.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/sequenced_task_runner.h"
 #include "base/single_thread_task_runner.h"
+#include "base/strings/sys_string_conversions.h"
 #include "base/thread_task_runner_handle.h"
 #include "base/time.h"
-#include "base/strings/sys_string_conversions.h"
 #include "device/bluetooth/bluetooth_device_mac.h"
 
 // Replicate specific 10.7 SDK declarations for building with prior SDKs.
diff --git a/device/bluetooth/bluetooth_adapter_win.h b/device/bluetooth/bluetooth_adapter_win.h
index 9b0ac4a..a017e29 100644
--- a/device/bluetooth/bluetooth_adapter_win.h
+++ b/device/bluetooth/bluetooth_adapter_win.h
@@ -9,7 +9,7 @@
 #include <utility>
 #include <vector>
 
-#include "base/hash_tables.h"
+#include "base/containers/hash_tables.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/scoped_vector.h"
 #include "base/memory/weak_ptr.h"
diff --git a/device/bluetooth/bluetooth_experimental_chromeos_unittest.cc b/device/bluetooth/bluetooth_chromeos_unittest.cc
similarity index 87%
rename from device/bluetooth/bluetooth_experimental_chromeos_unittest.cc
rename to device/bluetooth/bluetooth_chromeos_unittest.cc
index a680a4b..5adf2d4 100644
--- a/device/bluetooth/bluetooth_experimental_chromeos_unittest.cc
+++ b/device/bluetooth/bluetooth_chromeos_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -9,10 +9,10 @@
 #include "chromeos/dbus/mock_dbus_thread_manager_without_gmock.h"
 #include "dbus/object_path.h"
 #include "device/bluetooth/bluetooth_adapter.h"
-#include "device/bluetooth/bluetooth_adapter_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_adapter_chromeos.h"
 #include "device/bluetooth/bluetooth_adapter_factory.h"
 #include "device/bluetooth/bluetooth_device.h"
-#include "device/bluetooth/bluetooth_device_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_device_chromeos.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 using device::BluetoothAdapter;
@@ -205,7 +205,7 @@
    }
 };
 
-class BluetoothExperimentalChromeOSTest : public testing::Test {
+class BluetoothChromeOSTest : public testing::Test {
  public:
   virtual void SetUp() {
     mock_dbus_thread_manager_ =
@@ -243,8 +243,8 @@
 
   // Call to fill the adapter_ member with a BluetoothAdapter instance.
   void GetAdapter() {
-    adapter_ = new BluetoothAdapterExperimentalChromeOS();
-    ASSERT_TRUE(adapter_ != NULL);
+    adapter_ = new BluetoothAdapterChromeOS();
+    ASSERT_TRUE(adapter_.get() != NULL);
     ASSERT_TRUE(adapter_->IsInitialized());
   }
 
@@ -254,7 +254,7 @@
   // The correct behavior of discovery is tested by the "Discovery" test case
   // without using this function.
   void DiscoverDevice(const std::string& address) {
-    ASSERT_TRUE(adapter_ != NULL);
+    ASSERT_TRUE(adapter_.get() != NULL);
 
     if (base::MessageLoop::current() == NULL) {
       base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
@@ -269,14 +269,14 @@
 
     adapter_->SetPowered(
         true,
-        base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+        base::Bind(&BluetoothChromeOSTest::Callback,
                    base::Unretained(this)),
-        base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+        base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                    base::Unretained(this)));
     adapter_->StartDiscovering(
-        base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+        base::Bind(&BluetoothChromeOSTest::Callback,
                    base::Unretained(this)),
-        base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+        base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                    base::Unretained(this)));
     ASSERT_EQ(2, callback_count_);
     ASSERT_EQ(0, error_callback_count_);
@@ -290,9 +290,9 @@
       base::MessageLoop::current()->Run();
 
     adapter_->StopDiscovering(
-        base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+        base::Bind(&BluetoothChromeOSTest::Callback,
                    base::Unretained(this)),
-        base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+        base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                    base::Unretained(this)));
     ASSERT_EQ(1, callback_count_);
     ASSERT_EQ(0, error_callback_count_);
@@ -321,7 +321,7 @@
   enum BluetoothDevice::ConnectErrorCode last_connect_error_;
 };
 
-TEST_F(BluetoothExperimentalChromeOSTest, AlreadyPresent) {
+TEST_F(BluetoothChromeOSTest, AlreadyPresent) {
   GetAdapter();
 
   // This verifies that the class gets the list of adapters when created;
@@ -339,7 +339,7 @@
             devices[0]->GetAddress());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, BecomePresent) {
+TEST_F(BluetoothChromeOSTest, BecomePresent) {
   fake_bluetooth_adapter_client_->SetVisible(false);
   GetAdapter();
   ASSERT_FALSE(adapter_->IsPresent());
@@ -368,7 +368,7 @@
   EXPECT_FALSE(adapter_->IsDiscovering());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, BecomeNotPresent) {
+TEST_F(BluetoothChromeOSTest, BecomeNotPresent) {
   GetAdapter();
   ASSERT_TRUE(adapter_->IsPresent());
 
@@ -396,7 +396,7 @@
   EXPECT_FALSE(adapter_->IsDiscovering());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, SecondAdapter) {
+TEST_F(BluetoothChromeOSTest, SecondAdapter) {
   GetAdapter();
   ASSERT_TRUE(adapter_->IsPresent());
 
@@ -443,7 +443,7 @@
   EXPECT_EQ(0, observer.discovering_changed_count_);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, BecomePowered) {
+TEST_F(BluetoothChromeOSTest, BecomePowered) {
   GetAdapter();
   ASSERT_FALSE(adapter_->IsPowered());
 
@@ -454,9 +454,9 @@
 
   adapter_->SetPowered(
       true,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(1, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -467,13 +467,13 @@
   EXPECT_TRUE(adapter_->IsPowered());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, BecomeNotPowered) {
+TEST_F(BluetoothChromeOSTest, BecomeNotPowered) {
   GetAdapter();
   adapter_->SetPowered(
       true,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(1, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -488,9 +488,9 @@
 
   adapter_->SetPowered(
       false,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(1, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -501,21 +501,21 @@
   EXPECT_FALSE(adapter_->IsPowered());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, StopDiscovery) {
+TEST_F(BluetoothChromeOSTest, StopDiscovery) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
 
   GetAdapter();
 
   adapter_->SetPowered(
       true,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   adapter_->StartDiscovering(
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(2, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -531,9 +531,9 @@
   adapter_->AddObserver(&observer);
 
   adapter_->StopDiscovering(
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(1, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -544,21 +544,21 @@
   EXPECT_FALSE(adapter_->IsDiscovering());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, StopDiscoveryAfterTwoStarts) {
+TEST_F(BluetoothChromeOSTest, StopDiscoveryAfterTwoStarts) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
 
   GetAdapter();
 
   adapter_->SetPowered(
       true,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   adapter_->StartDiscovering(
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(2, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -573,9 +573,9 @@
   adapter_->AddObserver(&observer);
 
   adapter_->StartDiscovering(
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(1, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -586,9 +586,9 @@
   // Stop discovering; only the callback should be called since we're still
   // discovering. The adapter should be still discovering.
   adapter_->StopDiscovering(
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(1, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -602,9 +602,9 @@
   // AdapterDiscoveringChanged method to be called and no longer to be
   // discovering,
   adapter_->StopDiscovering(
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(1, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -615,7 +615,7 @@
   EXPECT_FALSE(adapter_->IsDiscovering());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, Discovery) {
+TEST_F(BluetoothChromeOSTest, Discovery) {
   // Test a simulated discovery session.
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
 
@@ -627,14 +627,14 @@
 
   adapter_->SetPowered(
       true,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   adapter_->StartDiscovering(
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(2, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -663,20 +663,20 @@
             observer.last_device_address_);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PoweredAndDiscovering) {
+TEST_F(BluetoothChromeOSTest, PoweredAndDiscovering) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
 
   GetAdapter();
   adapter_->SetPowered(
       true,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   adapter_->StartDiscovering(
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(2, callback_count_);
   EXPECT_EQ(0, error_callback_count_);
@@ -734,7 +734,7 @@
   EXPECT_FALSE(adapter_->IsDiscovering());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, DeviceProperties) {
+TEST_F(BluetoothChromeOSTest, DeviceProperties) {
   GetAdapter();
 
   BluetoothAdapter::DeviceList devices = adapter_->GetDevices();
@@ -763,7 +763,7 @@
   EXPECT_EQ(0x0306, devices[0]->GetDeviceID());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, DeviceClassChanged) {
+TEST_F(BluetoothChromeOSTest, DeviceClassChanged) {
   // Simulate a change of class of a device, as sometimes occurs
   // during discovery.
   GetAdapter();
@@ -791,7 +791,7 @@
   EXPECT_EQ(BluetoothDevice::DEVICE_MOUSE, devices[0]->GetDeviceType());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, DeviceNameChanged) {
+TEST_F(BluetoothChromeOSTest, DeviceNameChanged) {
   // Simulate a change of name of a device.
   GetAdapter();
 
@@ -820,7 +820,7 @@
   EXPECT_EQ(UTF8ToUTF16(new_name), devices[0]->GetName());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, DeviceUuidsChanged) {
+TEST_F(BluetoothChromeOSTest, DeviceUuidsChanged) {
   // Simulate a change of advertised services of a device.
   GetAdapter();
 
@@ -862,7 +862,7 @@
   EXPECT_EQ(uuids[4], "0000110a-0000-1000-8000-00805f9b34fb");
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, ForgetDevice) {
+TEST_F(BluetoothChromeOSTest, ForgetDevice) {
   GetAdapter();
 
   BluetoothAdapter::DeviceList devices = adapter_->GetDevices();
@@ -878,7 +878,7 @@
   adapter_->AddObserver(&observer);
 
   devices[0]->Forget(
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(0, error_callback_count_);
 
@@ -890,7 +890,7 @@
   ASSERT_EQ(0U, devices.size());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, ForgetUnpairedDevice) {
+TEST_F(BluetoothChromeOSTest, ForgetUnpairedDevice) {
   GetAdapter();
   DiscoverDevices();
 
@@ -902,9 +902,9 @@
   // Connect the device so it becomes trusted and remembered.
   device->Connect(
       NULL,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   ASSERT_EQ(1, callback_count_);
@@ -926,7 +926,7 @@
   adapter_->AddObserver(&observer);
 
   device->Forget(
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
   EXPECT_EQ(0, error_callback_count_);
 
@@ -940,7 +940,7 @@
   EXPECT_FALSE(device != NULL);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, ConnectPairedDevice) {
+TEST_F(BluetoothChromeOSTest, ConnectPairedDevice) {
   GetAdapter();
 
   BluetoothDevice* device = adapter_->GetDevice(
@@ -955,9 +955,9 @@
   // this should succeed and the device should become connected.
   device->Connect(
       NULL,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, callback_count_);
@@ -972,7 +972,7 @@
   EXPECT_FALSE(device->IsConnecting());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, ConnectUnpairableDevice) {
+TEST_F(BluetoothChromeOSTest, ConnectUnpairableDevice) {
   GetAdapter();
   DiscoverDevices();
 
@@ -988,9 +988,9 @@
   // pairing, this should succeed and the device should become connected.
   device->Connect(
       NULL,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, callback_count_);
@@ -1017,7 +1017,7 @@
   EXPECT_FALSE(device->IsConnectable());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, ConnectConnectedDevice) {
+TEST_F(BluetoothChromeOSTest, ConnectConnectedDevice) {
   GetAdapter();
 
   BluetoothDevice* device = adapter_->GetDevice(
@@ -1027,9 +1027,9 @@
 
   device->Connect(
       NULL,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   ASSERT_EQ(1, callback_count_);
@@ -1045,9 +1045,9 @@
 
   device->Connect(
       NULL,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, callback_count_);
@@ -1061,7 +1061,7 @@
   EXPECT_FALSE(device->IsConnecting());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, ConnectDeviceFails) {
+TEST_F(BluetoothChromeOSTest, ConnectDeviceFails) {
   GetAdapter();
   DiscoverDevices();
 
@@ -1077,9 +1077,9 @@
   // this should fail with an error.
   device->Connect(
       NULL,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(0, callback_count_);
@@ -1092,7 +1092,7 @@
   EXPECT_FALSE(device->IsConnecting());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, DisconnectDevice) {
+TEST_F(BluetoothChromeOSTest, DisconnectDevice) {
   GetAdapter();
 
   BluetoothDevice* device = adapter_->GetDevice(
@@ -1102,9 +1102,9 @@
 
   device->Connect(
       NULL,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   ASSERT_EQ(1, callback_count_);
@@ -1120,9 +1120,9 @@
   adapter_->AddObserver(&observer);
 
   device->Disconnect(
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, callback_count_);
@@ -1134,7 +1134,7 @@
   EXPECT_FALSE(device->IsConnected());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, DisconnectUnconnectedDevice) {
+TEST_F(BluetoothChromeOSTest, DisconnectUnconnectedDevice) {
   GetAdapter();
 
   BluetoothDevice* device = adapter_->GetDevice(
@@ -1149,9 +1149,9 @@
   adapter_->AddObserver(&observer);
 
   device->Disconnect(
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(0, callback_count_);
@@ -1162,7 +1162,7 @@
   EXPECT_FALSE(device->IsConnected());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairAppleMouse) {
+TEST_F(BluetoothChromeOSTest, PairAppleMouse) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1182,9 +1182,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(0, pairing_delegate.call_count_);
@@ -1223,7 +1223,7 @@
   EXPECT_TRUE(properties->trusted.value());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairAppleKeyboard) {
+TEST_F(BluetoothChromeOSTest, PairAppleKeyboard) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1243,9 +1243,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, pairing_delegate.call_count_);
@@ -1285,7 +1285,7 @@
   EXPECT_TRUE(properties->trusted.value());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairMotorolaKeyboard) {
+TEST_F(BluetoothChromeOSTest, PairMotorolaKeyboard) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1305,9 +1305,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   // One call for DisplayPasskey() and one for KeysEntered().
@@ -1368,7 +1368,7 @@
   EXPECT_TRUE(properties->trusted.value());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairSonyHeadphones) {
+TEST_F(BluetoothChromeOSTest, PairSonyHeadphones) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1387,9 +1387,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, pairing_delegate.call_count_);
@@ -1431,7 +1431,7 @@
   EXPECT_TRUE(properties->trusted.value());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairPhone) {
+TEST_F(BluetoothChromeOSTest, PairPhone) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1450,9 +1450,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, pairing_delegate.call_count_);
@@ -1491,7 +1491,7 @@
   EXPECT_TRUE(properties->trusted.value());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairWeirdDevice) {
+TEST_F(BluetoothChromeOSTest, PairWeirdDevice) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1512,9 +1512,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, pairing_delegate.call_count_);
@@ -1552,7 +1552,7 @@
   EXPECT_TRUE(properties->trusted.value());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairUnpairableDeviceFails) {
+TEST_F(BluetoothChromeOSTest, PairUnpairableDeviceFails) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1570,9 +1570,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(0, pairing_delegate.call_count_);
@@ -1595,7 +1595,7 @@
   EXPECT_EQ(1, pairing_delegate.dismiss_count_);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairingFails) {
+TEST_F(BluetoothChromeOSTest, PairingFails) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1614,9 +1614,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(0, pairing_delegate.call_count_);
@@ -1639,7 +1639,7 @@
   EXPECT_EQ(1, pairing_delegate.dismiss_count_);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairingFailsAtConnection) {
+TEST_F(BluetoothChromeOSTest, PairingFailsAtConnection) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1659,9 +1659,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(0, pairing_delegate.call_count_);
@@ -1696,7 +1696,7 @@
   EXPECT_TRUE(properties->trusted.value());
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairingRejectedAtPinCode) {
+TEST_F(BluetoothChromeOSTest, PairingRejectedAtPinCode) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1715,9 +1715,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, pairing_delegate.call_count_);
@@ -1743,7 +1743,7 @@
   EXPECT_EQ(1, pairing_delegate.dismiss_count_);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairingCancelledAtPinCode) {
+TEST_F(BluetoothChromeOSTest, PairingCancelledAtPinCode) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1762,9 +1762,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, pairing_delegate.call_count_);
@@ -1790,7 +1790,7 @@
   EXPECT_EQ(1, pairing_delegate.dismiss_count_);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairingRejectedAtPasskey) {
+TEST_F(BluetoothChromeOSTest, PairingRejectedAtPasskey) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1809,9 +1809,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, pairing_delegate.call_count_);
@@ -1837,7 +1837,7 @@
   EXPECT_EQ(1, pairing_delegate.dismiss_count_);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairingCancelledAtPasskey) {
+TEST_F(BluetoothChromeOSTest, PairingCancelledAtPasskey) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1856,9 +1856,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, pairing_delegate.call_count_);
@@ -1884,7 +1884,7 @@
   EXPECT_EQ(1, pairing_delegate.dismiss_count_);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairingRejectedAtConfirmation) {
+TEST_F(BluetoothChromeOSTest, PairingRejectedAtConfirmation) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1903,9 +1903,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, pairing_delegate.call_count_);
@@ -1931,7 +1931,7 @@
   EXPECT_EQ(1, pairing_delegate.dismiss_count_);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairingCancelledAtConfirmation) {
+TEST_F(BluetoothChromeOSTest, PairingCancelledAtConfirmation) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1950,9 +1950,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(1, pairing_delegate.call_count_);
@@ -1978,7 +1978,7 @@
   EXPECT_EQ(1, pairing_delegate.dismiss_count_);
 }
 
-TEST_F(BluetoothExperimentalChromeOSTest, PairingCancelledInFlight) {
+TEST_F(BluetoothChromeOSTest, PairingCancelledInFlight) {
   base::MessageLoop message_loop(base::MessageLoop::TYPE_DEFAULT);
   fake_bluetooth_device_client_->SetSimulationIntervalMs(10);
 
@@ -1997,9 +1997,9 @@
   TestPairingDelegate pairing_delegate;
   device->Connect(
       &pairing_delegate,
-      base::Bind(&BluetoothExperimentalChromeOSTest::Callback,
+      base::Bind(&BluetoothChromeOSTest::Callback,
                  base::Unretained(this)),
-      base::Bind(&BluetoothExperimentalChromeOSTest::ConnectErrorCallback,
+      base::Bind(&BluetoothChromeOSTest::ConnectErrorCallback,
                  base::Unretained(this)));
 
   EXPECT_EQ(0, pairing_delegate.call_count_);
diff --git a/device/bluetooth/bluetooth_device_experimental_chromeos.cc b/device/bluetooth/bluetooth_device_chromeos.cc
similarity index 69%
rename from device/bluetooth/bluetooth_device_experimental_chromeos.cc
rename to device/bluetooth/bluetooth_device_chromeos.cc
index b6932ba..76e2097 100644
--- a/device/bluetooth/bluetooth_device_experimental_chromeos.cc
+++ b/device/bluetooth/bluetooth_device_chromeos.cc
@@ -1,22 +1,22 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "device/bluetooth/bluetooth_device_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_device_chromeos.h"
 
 #include "base/bind.h"
 #include "base/metrics/histogram.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
+#include "chromeos/dbus/bluetooth_adapter_client.h"
+#include "chromeos/dbus/bluetooth_agent_manager_client.h"
+#include "chromeos/dbus/bluetooth_agent_service_provider.h"
+#include "chromeos/dbus/bluetooth_device_client.h"
+#include "chromeos/dbus/bluetooth_input_client.h"
 #include "chromeos/dbus/dbus_thread_manager.h"
-#include "chromeos/dbus/experimental_bluetooth_adapter_client.h"
-#include "chromeos/dbus/experimental_bluetooth_agent_manager_client.h"
-#include "chromeos/dbus/experimental_bluetooth_agent_service_provider.h"
-#include "chromeos/dbus/experimental_bluetooth_device_client.h"
-#include "chromeos/dbus/experimental_bluetooth_input_client.h"
 #include "dbus/bus.h"
-#include "device/bluetooth/bluetooth_adapter_experimental_chromeos.h"
-#include "device/bluetooth/bluetooth_profile_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_adapter_chromeos.h"
+#include "device/bluetooth/bluetooth_profile_chromeos.h"
 #include "device/bluetooth/bluetooth_socket.h"
 #include "third_party/cros_system_api/dbus/service_constants.h"
 
@@ -62,9 +62,9 @@
                    uint16 *vendor_id,
                    uint16 *product_id,
                    uint16 *device_id) {
-  chromeos::ExperimentalBluetoothDeviceClient::Properties* properties =
-      chromeos::DBusThreadManager::Get()->
-          GetExperimentalBluetoothDeviceClient()->GetProperties(object_path);
+  chromeos::BluetoothDeviceClient::Properties* properties =
+      chromeos::DBusThreadManager::Get()->GetBluetoothDeviceClient()->
+          GetProperties(object_path);
   DCHECK(properties);
 
   std::string modalias = properties->modalias.value();
@@ -127,8 +127,8 @@
 
 namespace chromeos {
 
-BluetoothDeviceExperimentalChromeOS::BluetoothDeviceExperimentalChromeOS(
-    BluetoothAdapterExperimentalChromeOS* adapter,
+BluetoothDeviceChromeOS::BluetoothDeviceChromeOS(
+    BluetoothAdapterChromeOS* adapter,
     const dbus::ObjectPath& object_path)
     : adapter_(adapter),
       object_path_(object_path),
@@ -138,57 +138,57 @@
       weak_ptr_factory_(this) {
 }
 
-BluetoothDeviceExperimentalChromeOS::~BluetoothDeviceExperimentalChromeOS() {
+BluetoothDeviceChromeOS::~BluetoothDeviceChromeOS() {
 }
 
-uint32 BluetoothDeviceExperimentalChromeOS::GetBluetoothClass() const {
-  ExperimentalBluetoothDeviceClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+uint32 BluetoothDeviceChromeOS::GetBluetoothClass() const {
+  BluetoothDeviceClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothDeviceClient()->
           GetProperties(object_path_);
   DCHECK(properties);
 
   return properties->bluetooth_class.value();
 }
 
-std::string BluetoothDeviceExperimentalChromeOS::GetDeviceName() const {
-  ExperimentalBluetoothDeviceClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+std::string BluetoothDeviceChromeOS::GetDeviceName() const {
+  BluetoothDeviceClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothDeviceClient()->
           GetProperties(object_path_);
   DCHECK(properties);
 
   return properties->alias.value();
 }
 
-std::string BluetoothDeviceExperimentalChromeOS::GetAddress() const {
-  ExperimentalBluetoothDeviceClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+std::string BluetoothDeviceChromeOS::GetAddress() const {
+  BluetoothDeviceClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothDeviceClient()->
           GetProperties(object_path_);
   DCHECK(properties);
 
   return properties->address.value();
 }
 
-uint16 BluetoothDeviceExperimentalChromeOS::GetVendorID() const {
+uint16 BluetoothDeviceChromeOS::GetVendorID() const {
   uint16 vendor_id  = 0;
   ParseModalias(object_path_, &vendor_id, NULL, NULL);
   return vendor_id;
 }
 
-uint16 BluetoothDeviceExperimentalChromeOS::GetProductID() const {
+uint16 BluetoothDeviceChromeOS::GetProductID() const {
   uint16 product_id  = 0;
   ParseModalias(object_path_, NULL, &product_id, NULL);
   return product_id;
 }
 
-uint16 BluetoothDeviceExperimentalChromeOS::GetDeviceID() const {
+uint16 BluetoothDeviceChromeOS::GetDeviceID() const {
   uint16 device_id  = 0;
   ParseModalias(object_path_, NULL, NULL, &device_id);
   return device_id;
 }
 
-bool BluetoothDeviceExperimentalChromeOS::IsPaired() const {
-  ExperimentalBluetoothDeviceClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+bool BluetoothDeviceChromeOS::IsPaired() const {
+  BluetoothDeviceClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothDeviceClient()->
           GetProperties(object_path_);
   DCHECK(properties);
 
@@ -198,18 +198,18 @@
   return properties->paired.value() || properties->trusted.value();
 }
 
-bool BluetoothDeviceExperimentalChromeOS::IsConnected() const {
-  ExperimentalBluetoothDeviceClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+bool BluetoothDeviceChromeOS::IsConnected() const {
+  BluetoothDeviceClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothDeviceClient()->
           GetProperties(object_path_);
   DCHECK(properties);
 
   return properties->connected.value();
 }
 
-bool BluetoothDeviceExperimentalChromeOS::IsConnectable() const {
-  ExperimentalBluetoothInputClient::Properties* input_properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothInputClient()->
+bool BluetoothDeviceChromeOS::IsConnectable() const {
+  BluetoothInputClient::Properties* input_properties =
+      DBusThreadManager::Get()->GetBluetoothInputClient()->
           GetProperties(object_path_);
   // GetProperties returns NULL when the device does not implement the given
   // interface. Non HID devices are normally connectable.
@@ -219,47 +219,47 @@
   return input_properties->reconnect_mode.value() != "device";
 }
 
-bool BluetoothDeviceExperimentalChromeOS::IsConnecting() const {
+bool BluetoothDeviceChromeOS::IsConnecting() const {
   return num_connecting_calls_ > 0;
 }
 
-BluetoothDeviceExperimentalChromeOS::ServiceList
-BluetoothDeviceExperimentalChromeOS::GetServices() const {
-  ExperimentalBluetoothDeviceClient::Properties* properties =
-      DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+BluetoothDeviceChromeOS::ServiceList BluetoothDeviceChromeOS::GetServices()
+    const {
+  BluetoothDeviceClient::Properties* properties =
+      DBusThreadManager::Get()->GetBluetoothDeviceClient()->
           GetProperties(object_path_);
   DCHECK(properties);
 
   return properties->uuids.value();
 }
 
-void BluetoothDeviceExperimentalChromeOS::GetServiceRecords(
+void BluetoothDeviceChromeOS::GetServiceRecords(
     const ServiceRecordsCallback& callback,
     const ErrorCallback& error_callback) {
   // TODO(keybuk): not implemented; remove
   error_callback.Run();
 }
 
-void BluetoothDeviceExperimentalChromeOS::ProvidesServiceWithName(
+void BluetoothDeviceChromeOS::ProvidesServiceWithName(
     const std::string& name,
     const ProvidesServiceCallback& callback) {
   // TODO(keybuk): not implemented; remove
   callback.Run(false);
 }
 
-bool BluetoothDeviceExperimentalChromeOS::ExpectingPinCode() const {
+bool BluetoothDeviceChromeOS::ExpectingPinCode() const {
   return !pincode_callback_.is_null();
 }
 
-bool BluetoothDeviceExperimentalChromeOS::ExpectingPasskey() const {
+bool BluetoothDeviceChromeOS::ExpectingPasskey() const {
   return !passkey_callback_.is_null();
 }
 
-bool BluetoothDeviceExperimentalChromeOS::ExpectingConfirmation() const {
+bool BluetoothDeviceChromeOS::ExpectingConfirmation() const {
   return !confirmation_callback_.is_null();
 }
 
-void BluetoothDeviceExperimentalChromeOS::Connect(
+void BluetoothDeviceChromeOS::Connect(
     BluetoothDevice::PairingDelegate* pairing_delegate,
     const base::Closure& callback,
     const ConnectErrorCallback& error_callback) {
@@ -283,29 +283,26 @@
     // The agent path is relatively meaningless since BlueZ only supports
     // one per application at a time.
     dbus::Bus* system_bus = DBusThreadManager::Get()->GetSystemBus();
-    agent_.reset(ExperimentalBluetoothAgentServiceProvider::Create(
+    agent_.reset(BluetoothAgentServiceProvider::Create(
         system_bus, dbus::ObjectPath(kAgentPath), this));
     DCHECK(agent_.get());
 
     VLOG(1) << object_path_.value() << ": Registering agent for pairing";
-    DBusThreadManager::Get()->GetExperimentalBluetoothAgentManagerClient()->
+    DBusThreadManager::Get()->GetBluetoothAgentManagerClient()->
         RegisterAgent(
             dbus::ObjectPath(kAgentPath),
             bluetooth_agent_manager::kKeyboardDisplayCapability,
-            base::Bind(
-                &BluetoothDeviceExperimentalChromeOS::OnRegisterAgent,
-                weak_ptr_factory_.GetWeakPtr(),
-                callback,
-                error_callback),
-            base::Bind(
-                &BluetoothDeviceExperimentalChromeOS::OnRegisterAgentError,
-                weak_ptr_factory_.GetWeakPtr(),
-                error_callback));
+            base::Bind(&BluetoothDeviceChromeOS::OnRegisterAgent,
+                       weak_ptr_factory_.GetWeakPtr(),
+                       callback,
+                       error_callback),
+            base::Bind(&BluetoothDeviceChromeOS::OnRegisterAgentError,
+                       weak_ptr_factory_.GetWeakPtr(),
+                       error_callback));
   }
 }
 
-void BluetoothDeviceExperimentalChromeOS::SetPinCode(
-    const std::string& pincode) {
+void BluetoothDeviceChromeOS::SetPinCode(const std::string& pincode) {
   if (!agent_.get() || pincode_callback_.is_null())
     return;
 
@@ -313,7 +310,7 @@
   pincode_callback_.Reset();
 }
 
-void BluetoothDeviceExperimentalChromeOS::SetPasskey(uint32 passkey) {
+void BluetoothDeviceChromeOS::SetPasskey(uint32 passkey) {
   if (!agent_.get() || passkey_callback_.is_null())
     return;
 
@@ -321,7 +318,7 @@
   passkey_callback_.Reset();
 }
 
-void BluetoothDeviceExperimentalChromeOS::ConfirmPairing() {
+void BluetoothDeviceChromeOS::ConfirmPairing() {
   if (!agent_.get() || confirmation_callback_.is_null())
     return;
 
@@ -329,21 +326,20 @@
   confirmation_callback_.Reset();
 }
 
-void BluetoothDeviceExperimentalChromeOS::RejectPairing() {
+void BluetoothDeviceChromeOS::RejectPairing() {
   RunPairingCallbacks(REJECTED);
 }
 
-void BluetoothDeviceExperimentalChromeOS::CancelPairing() {
+void BluetoothDeviceChromeOS::CancelPairing() {
   // If there wasn't a callback in progress that we can reply to then we
   // have to send a CancelPairing() to the device instead.
   if (!RunPairingCallbacks(CANCELLED)) {
-    DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+    DBusThreadManager::Get()->GetBluetoothDeviceClient()->
         CancelPairing(
             object_path_,
             base::Bind(&base::DoNothing),
-            base::Bind(
-                &BluetoothDeviceExperimentalChromeOS::OnCancelPairingError,
-                weak_ptr_factory_.GetWeakPtr()));
+            base::Bind(&BluetoothDeviceChromeOS::OnCancelPairingError,
+                       weak_ptr_factory_.GetWeakPtr()));
 
     // Since there's no calback to this method, it's possible that the pairing
     // delegate is going to be freed before things complete.
@@ -351,69 +347,64 @@
   }
 }
 
-void BluetoothDeviceExperimentalChromeOS::Disconnect(
-    const base::Closure& callback,
-    const ErrorCallback& error_callback) {
+void BluetoothDeviceChromeOS::Disconnect(const base::Closure& callback,
+                                         const ErrorCallback& error_callback) {
   VLOG(1) << object_path_.value() << ": Disconnecting";
-  DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+  DBusThreadManager::Get()->GetBluetoothDeviceClient()->
       Disconnect(
           object_path_,
-          base::Bind(
-              &BluetoothDeviceExperimentalChromeOS::OnDisconnect,
-              weak_ptr_factory_.GetWeakPtr(),
-              callback),
-          base::Bind(
-              &BluetoothDeviceExperimentalChromeOS::OnDisconnectError,
-              weak_ptr_factory_.GetWeakPtr(),
-              error_callback));
+          base::Bind(&BluetoothDeviceChromeOS::OnDisconnect,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     callback),
+          base::Bind(&BluetoothDeviceChromeOS::OnDisconnectError,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     error_callback));
 }
 
-void BluetoothDeviceExperimentalChromeOS::Forget(
-   const ErrorCallback& error_callback) {
+void BluetoothDeviceChromeOS::Forget(const ErrorCallback& error_callback) {
   VLOG(1) << object_path_.value() << ": Removing device";
-  DBusThreadManager::Get()->GetExperimentalBluetoothAdapterClient()->
+  DBusThreadManager::Get()->GetBluetoothAdapterClient()->
       RemoveDevice(
           adapter_->object_path_,
           object_path_,
           base::Bind(&base::DoNothing),
-          base::Bind(
-              &BluetoothDeviceExperimentalChromeOS::OnForgetError,
-              weak_ptr_factory_.GetWeakPtr(),
-              error_callback));
+          base::Bind(&BluetoothDeviceChromeOS::OnForgetError,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     error_callback));
 }
 
-void BluetoothDeviceExperimentalChromeOS::ConnectToService(
+void BluetoothDeviceChromeOS::ConnectToService(
     const std::string& service_uuid,
     const SocketCallback& callback) {
   // TODO(keybuk): implement
   callback.Run(scoped_refptr<device::BluetoothSocket>());
 }
 
-void BluetoothDeviceExperimentalChromeOS::ConnectToProfile(
+void BluetoothDeviceChromeOS::ConnectToProfile(
     device::BluetoothProfile* profile,
     const base::Closure& callback,
     const ErrorCallback& error_callback) {
-  BluetoothProfileExperimentalChromeOS* profile_chromeos =
-      static_cast<BluetoothProfileExperimentalChromeOS*>(profile);
+  BluetoothProfileChromeOS* profile_chromeos =
+      static_cast<BluetoothProfileChromeOS*>(profile);
   VLOG(1) << object_path_.value() << ": Connecting profile: "
           << profile_chromeos->uuid();
-  DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+  DBusThreadManager::Get()->GetBluetoothDeviceClient()->
       ConnectProfile(
           object_path_,
           profile_chromeos->uuid(),
           base::Bind(
-              &BluetoothDeviceExperimentalChromeOS::OnConnectProfile,
+              &BluetoothDeviceChromeOS::OnConnectProfile,
               weak_ptr_factory_.GetWeakPtr(),
               profile,
               callback),
           base::Bind(
-              &BluetoothDeviceExperimentalChromeOS::OnConnectProfileError,
+              &BluetoothDeviceChromeOS::OnConnectProfileError,
               weak_ptr_factory_.GetWeakPtr(),
               profile,
               error_callback));
 }
 
-void BluetoothDeviceExperimentalChromeOS::SetOutOfBandPairingData(
+void BluetoothDeviceChromeOS::SetOutOfBandPairingData(
     const device::BluetoothOutOfBandPairingData& data,
     const base::Closure& callback,
     const ErrorCallback& error_callback) {
@@ -421,7 +412,7 @@
   error_callback.Run();
 }
 
-void BluetoothDeviceExperimentalChromeOS::ClearOutOfBandPairingData(
+void BluetoothDeviceChromeOS::ClearOutOfBandPairingData(
     const base::Closure& callback,
     const ErrorCallback& error_callback) {
   // TODO(keybuk): implement
@@ -429,7 +420,7 @@
 }
 
 
-void BluetoothDeviceExperimentalChromeOS::Release() {
+void BluetoothDeviceChromeOS::Release() {
   DCHECK(agent_.get());
   DCHECK(pairing_delegate_);
   VLOG(1) << object_path_.value() << ": Release";
@@ -441,7 +432,7 @@
   UnregisterAgent();
 }
 
-void BluetoothDeviceExperimentalChromeOS::RequestPinCode(
+void BluetoothDeviceChromeOS::RequestPinCode(
     const dbus::ObjectPath& device_path,
     const PinCodeCallback& callback) {
   DCHECK(agent_.get());
@@ -459,7 +450,7 @@
   pairing_delegate_used_ = true;
 }
 
-void BluetoothDeviceExperimentalChromeOS::DisplayPinCode(
+void BluetoothDeviceChromeOS::DisplayPinCode(
     const dbus::ObjectPath& device_path,
     const std::string& pincode) {
   DCHECK(agent_.get());
@@ -475,7 +466,7 @@
   pairing_delegate_used_ = true;
 }
 
-void BluetoothDeviceExperimentalChromeOS::RequestPasskey(
+void BluetoothDeviceChromeOS::RequestPasskey(
     const dbus::ObjectPath& device_path,
     const PasskeyCallback& callback) {
   DCHECK(agent_.get());
@@ -493,7 +484,7 @@
   pairing_delegate_used_ = true;
 }
 
-void BluetoothDeviceExperimentalChromeOS::DisplayPasskey(
+void BluetoothDeviceChromeOS::DisplayPasskey(
     const dbus::ObjectPath& device_path,
     uint32 passkey,
     uint16 entered) {
@@ -514,7 +505,7 @@
   pairing_delegate_used_ = true;
 }
 
-void BluetoothDeviceExperimentalChromeOS::RequestConfirmation(
+void BluetoothDeviceChromeOS::RequestConfirmation(
     const dbus::ObjectPath& device_path,
     uint32 passkey,
     const ConfirmationCallback& callback) {
@@ -533,14 +524,14 @@
   pairing_delegate_used_ = true;
 }
 
-void BluetoothDeviceExperimentalChromeOS::RequestAuthorization(
+void BluetoothDeviceChromeOS::RequestAuthorization(
     const dbus::ObjectPath& device_path,
     const ConfirmationCallback& callback) {
   // TODO(keybuk): implement
   callback.Run(CANCELLED);
 }
 
-void BluetoothDeviceExperimentalChromeOS::AuthorizeService(
+void BluetoothDeviceChromeOS::AuthorizeService(
     const dbus::ObjectPath& device_path,
     const std::string& uuid,
     const ConfirmationCallback& callback) {
@@ -548,7 +539,7 @@
   callback.Run(CANCELLED);
 }
 
-void BluetoothDeviceExperimentalChromeOS::Cancel() {
+void BluetoothDeviceChromeOS::Cancel() {
   DCHECK(agent_.get());
   VLOG(1) << object_path_.value() << ": Cancel";
 
@@ -556,29 +547,26 @@
   pairing_delegate_->DismissDisplayOrConfirm();
 }
 
-void BluetoothDeviceExperimentalChromeOS::ConnectInternal(
+void BluetoothDeviceChromeOS::ConnectInternal(
     bool after_pairing,
     const base::Closure& callback,
     const ConnectErrorCallback& error_callback) {
   VLOG(1) << object_path_.value() << ": Connecting";
-  DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+  DBusThreadManager::Get()->GetBluetoothDeviceClient()->
       Connect(
           object_path_,
-          base::Bind(
-              &BluetoothDeviceExperimentalChromeOS::OnConnect,
-              weak_ptr_factory_.GetWeakPtr(),
-              after_pairing,
-              callback),
-          base::Bind(
-              &BluetoothDeviceExperimentalChromeOS::OnConnectError,
-              weak_ptr_factory_.GetWeakPtr(),
-              after_pairing,
-              error_callback));
+          base::Bind(&BluetoothDeviceChromeOS::OnConnect,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     after_pairing,
+                     callback),
+          base::Bind(&BluetoothDeviceChromeOS::OnConnectError,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     after_pairing,
+                     error_callback));
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnConnect(
-    bool after_pairing,
-    const base::Closure& callback) {
+void BluetoothDeviceChromeOS::OnConnect(bool after_pairing,
+                                        const base::Closure& callback) {
   if (--num_connecting_calls_ == 0)
     adapter_->NotifyDeviceChanged(this);
 
@@ -596,7 +584,7 @@
   callback.Run();
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnConnectError(
+void BluetoothDeviceChromeOS::OnConnectError(
     bool after_pairing,
     const ConnectErrorCallback& error_callback,
     const std::string& error_name,
@@ -625,24 +613,22 @@
   error_callback.Run(error_code);
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnRegisterAgent(
+void BluetoothDeviceChromeOS::OnRegisterAgent(
     const base::Closure& callback,
     const ConnectErrorCallback& error_callback) {
   VLOG(1) << object_path_.value() << ": Agent registered, now pairing";
 
-  DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+  DBusThreadManager::Get()->GetBluetoothDeviceClient()->
       Pair(object_path_,
-           base::Bind(
-               &BluetoothDeviceExperimentalChromeOS::OnPair,
-               weak_ptr_factory_.GetWeakPtr(),
-               callback, error_callback),
-           base::Bind(
-               &BluetoothDeviceExperimentalChromeOS::OnPairError,
-               weak_ptr_factory_.GetWeakPtr(),
-               error_callback));
+           base::Bind(&BluetoothDeviceChromeOS::OnPair,
+                      weak_ptr_factory_.GetWeakPtr(),
+                      callback, error_callback),
+           base::Bind(&BluetoothDeviceChromeOS::OnPairError,
+                      weak_ptr_factory_.GetWeakPtr(),
+                      error_callback));
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnRegisterAgentError(
+void BluetoothDeviceChromeOS::OnRegisterAgentError(
     const ConnectErrorCallback& error_callback,
     const std::string& error_name,
     const std::string& error_message) {
@@ -666,7 +652,7 @@
   error_callback.Run(error_code);
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnPair(
+void BluetoothDeviceChromeOS::OnPair(
     const base::Closure& callback,
     const ConnectErrorCallback& error_callback) {
   VLOG(1) << object_path_.value() << ": Paired";
@@ -680,7 +666,7 @@
   ConnectInternal(true, callback, error_callback);
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnPairError(
+void BluetoothDeviceChromeOS::OnPairError(
     const ConnectErrorCallback& error_callback,
     const std::string& error_name,
     const std::string& error_message) {
@@ -715,32 +701,31 @@
   error_callback.Run(error_code);
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnCancelPairingError(
+void BluetoothDeviceChromeOS::OnCancelPairingError(
     const std::string& error_name,
     const std::string& error_message) {
   LOG(WARNING) << object_path_.value() << ": Failed to cancel pairing: "
                << error_name << ": " << error_message;
 }
 
-void BluetoothDeviceExperimentalChromeOS::SetTrusted() {
+void BluetoothDeviceChromeOS::SetTrusted() {
   // Unconditionally send the property change, rather than checking the value
   // first; there's no harm in doing this and it solves any race conditions
   // with the property becoming true or false and this call happening before
   // we get the D-Bus signal about the earlier change.
-  DBusThreadManager::Get()->GetExperimentalBluetoothDeviceClient()->
+  DBusThreadManager::Get()->GetBluetoothDeviceClient()->
       GetProperties(object_path_)->trusted.Set(
           true,
-          base::Bind(
-              &BluetoothDeviceExperimentalChromeOS::OnSetTrusted,
-              weak_ptr_factory_.GetWeakPtr()));
+          base::Bind(&BluetoothDeviceChromeOS::OnSetTrusted,
+                     weak_ptr_factory_.GetWeakPtr()));
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnSetTrusted(bool success) {
+void BluetoothDeviceChromeOS::OnSetTrusted(bool success) {
   LOG_IF(WARNING, !success) << object_path_.value()
                             << ": Failed to set device as trusted";
 }
 
-void BluetoothDeviceExperimentalChromeOS::UnregisterAgent() {
+void BluetoothDeviceChromeOS::UnregisterAgent() {
   if (!agent_.get())
     return;
 
@@ -757,29 +742,27 @@
 
   // Clean up after ourselves.
   VLOG(1) << object_path_.value() << ": Unregistering pairing agent";
-  DBusThreadManager::Get()->GetExperimentalBluetoothAgentManagerClient()->
+  DBusThreadManager::Get()->GetBluetoothAgentManagerClient()->
       UnregisterAgent(
           dbus::ObjectPath(kAgentPath),
           base::Bind(&base::DoNothing),
-          base::Bind(
-              &BluetoothDeviceExperimentalChromeOS::OnUnregisterAgentError,
-              weak_ptr_factory_.GetWeakPtr()));
+          base::Bind(&BluetoothDeviceChromeOS::OnUnregisterAgentError,
+                     weak_ptr_factory_.GetWeakPtr()));
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnUnregisterAgentError(
+void BluetoothDeviceChromeOS::OnUnregisterAgentError(
     const std::string& error_name,
     const std::string& error_message) {
   LOG(WARNING) << object_path_.value() << ": Failed to unregister agent: "
                << error_name << ": " << error_message;
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnDisconnect(
-    const base::Closure& callback) {
+void BluetoothDeviceChromeOS::OnDisconnect(const base::Closure& callback) {
   VLOG(1) << object_path_.value() << ": Disconnected";
   callback.Run();
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnDisconnectError(
+void BluetoothDeviceChromeOS::OnDisconnectError(
     const ErrorCallback& error_callback,
     const std::string& error_name,
     const std::string& error_message) {
@@ -788,7 +771,7 @@
   error_callback.Run();
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnForgetError(
+void BluetoothDeviceChromeOS::OnForgetError(
     const ErrorCallback& error_callback,
     const std::string& error_name,
     const std::string& error_message) {
@@ -797,7 +780,7 @@
   error_callback.Run();
 }
 
-bool BluetoothDeviceExperimentalChromeOS::RunPairingCallbacks(Status status) {
+bool BluetoothDeviceChromeOS::RunPairingCallbacks(Status status) {
   if (!agent_.get())
     return false;
 
@@ -823,23 +806,23 @@
   return callback_run;
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnConnectProfile(
+void BluetoothDeviceChromeOS::OnConnectProfile(
     device::BluetoothProfile* profile,
     const base::Closure& callback) {
-  BluetoothProfileExperimentalChromeOS* profile_chromeos =
-      static_cast<BluetoothProfileExperimentalChromeOS*>(profile);
+  BluetoothProfileChromeOS* profile_chromeos =
+      static_cast<BluetoothProfileChromeOS*>(profile);
   VLOG(1) << object_path_.value() << ": Profile connected: "
           << profile_chromeos->uuid();
   callback.Run();
 }
 
-void BluetoothDeviceExperimentalChromeOS::OnConnectProfileError(
+void BluetoothDeviceChromeOS::OnConnectProfileError(
     device::BluetoothProfile* profile,
     const ErrorCallback& error_callback,
     const std::string& error_name,
     const std::string& error_message) {
-  BluetoothProfileExperimentalChromeOS* profile_chromeos =
-      static_cast<BluetoothProfileExperimentalChromeOS*>(profile);
+  BluetoothProfileChromeOS* profile_chromeos =
+      static_cast<BluetoothProfileChromeOS*>(profile);
   VLOG(1) << object_path_.value() << ": Profile connection failed: "
           << profile_chromeos->uuid() << ": "
           << error_name << ": " << error_message;
diff --git a/device/bluetooth/bluetooth_device_experimental_chromeos.h b/device/bluetooth/bluetooth_device_chromeos.h
similarity index 84%
rename from device/bluetooth/bluetooth_device_experimental_chromeos.h
rename to device/bluetooth/bluetooth_device_chromeos.h
index 18b48e9..fef7cfd 100644
--- a/device/bluetooth/bluetooth_device_experimental_chromeos.h
+++ b/device/bluetooth/bluetooth_device_chromeos.h
@@ -1,30 +1,28 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_EXPERIMENTAL_CHROMEOS_H
-#define DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_EXPERIMENTAL_CHROMEOS_H
+#ifndef DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_CHROMEOS_H
+#define DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_CHROMEOS_H
 
 #include <string>
 
 #include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
-#include "chromeos/dbus/experimental_bluetooth_agent_service_provider.h"
-#include "chromeos/dbus/experimental_bluetooth_device_client.h"
+#include "chromeos/dbus/bluetooth_agent_service_provider.h"
+#include "chromeos/dbus/bluetooth_device_client.h"
 #include "dbus/object_path.h"
 #include "device/bluetooth/bluetooth_device.h"
 
 namespace chromeos {
 
-class BluetoothAdapterExperimentalChromeOS;
+class BluetoothAdapterChromeOS;
 
-// The BluetoothDeviceExperimentalChromeOS class is an alternate implementation
-// of BluetoothDevice for the Chrome OS platform using the Bluetooth Smart
-// capable backend. It will become the sole implementation for Chrome OS, and
-// be renamed to BluetoothDeviceChromeOS, once the backend is switched.
-class BluetoothDeviceExperimentalChromeOS
+// The BluetoothDeviceChromeOS class implements BluetoothDevice for the
+// Chrome OS platform.
+class BluetoothDeviceChromeOS
     : public device::BluetoothDevice,
-      private chromeos::ExperimentalBluetoothAgentServiceProvider::Delegate {
+      private chromeos::BluetoothAgentServiceProvider::Delegate {
  public:
   // BluetoothDevice override
   virtual uint32 GetBluetoothClass() const OVERRIDE;
@@ -79,14 +77,13 @@
   virtual std::string GetDeviceName() const OVERRIDE;
 
  private:
-  friend class BluetoothAdapterExperimentalChromeOS;
+  friend class BluetoothAdapterChromeOS;
 
-  BluetoothDeviceExperimentalChromeOS(
-      BluetoothAdapterExperimentalChromeOS* adapter,
-      const dbus::ObjectPath& object_path);
-  virtual ~BluetoothDeviceExperimentalChromeOS();
+  BluetoothDeviceChromeOS(BluetoothAdapterChromeOS* adapter,
+                          const dbus::ObjectPath& object_path);
+  virtual ~BluetoothDeviceChromeOS();
 
-  // ExperimentalBluetoothAgentServiceProvider::Delegate override.
+  // BluetoothAgentServiceProvider::Delegate override.
   virtual void Release() OVERRIDE;
   virtual void RequestPinCode(const dbus::ObjectPath& device_path,
                               const PinCodeCallback& callback) OVERRIDE;
@@ -182,12 +179,11 @@
                              const std::string& error_name,
                              const std::string& error_message);
 
-  // Return the object path of the device; used by
-  // BluetoothAdapterExperimentalChromeOS
+  // Return the object path of the device; used by BluetoothAdapterChromeOS
   const dbus::ObjectPath& object_path() const { return object_path_; }
 
   // The adapter that owns this device instance.
-  BluetoothAdapterExperimentalChromeOS* adapter_;
+  BluetoothAdapterChromeOS* adapter_;
 
   // The dbus object path of the device object.
   dbus::ObjectPath object_path_;
@@ -206,7 +202,7 @@
 
   // During pairing this is set to an instance of a D-Bus agent object
   // intialized with our own class as its delegate.
-  scoped_ptr<ExperimentalBluetoothAgentServiceProvider> agent_;
+  scoped_ptr<BluetoothAgentServiceProvider> agent_;
 
   // During pairing these callbacks are set to those provided by method calls
   // made on us by |agent_| and are called by our own method calls such as
@@ -217,11 +213,11 @@
 
   // Note: This should remain the last member so it'll be destroyed and
   // invalidate its weak pointers before any other members are destroyed.
-  base::WeakPtrFactory<BluetoothDeviceExperimentalChromeOS> weak_ptr_factory_;
+  base::WeakPtrFactory<BluetoothDeviceChromeOS> weak_ptr_factory_;
 
-  DISALLOW_COPY_AND_ASSIGN(BluetoothDeviceExperimentalChromeOS);
+  DISALLOW_COPY_AND_ASSIGN(BluetoothDeviceChromeOS);
 };
 
 }  // namespace chromeos
 
-#endif  // DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_EXPERIMENTAL_CHROMEOS_H
+#endif  // DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_CHROMEOS_H
diff --git a/device/bluetooth/bluetooth_device_mac.h b/device/bluetooth/bluetooth_device_mac.h
index d3beb0f..bc887b9 100644
--- a/device/bluetooth/bluetooth_device_mac.h
+++ b/device/bluetooth/bluetooth_device_mac.h
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_MAC_H_
-#define DEVICE_BLUETOOTH_BlUETOOTH_DEVICE_MAC_H_
+#define DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_MAC_H_
 
 #include <string>
 
diff --git a/device/bluetooth/bluetooth_profile.cc b/device/bluetooth/bluetooth_profile.cc
index 6c59e5b..0d9a757 100644
--- a/device/bluetooth/bluetooth_profile.cc
+++ b/device/bluetooth/bluetooth_profile.cc
@@ -5,7 +5,7 @@
 #include "device/bluetooth/bluetooth_profile.h"
 
 #if defined(OS_CHROMEOS)
-#include "device/bluetooth/bluetooth_profile_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_profile_chromeos.h"
 #elif defined(OS_MACOSX)
 #include "base/mac/mac_util.h"
 #include "device/bluetooth/bluetooth_profile_mac.h"
@@ -46,8 +46,8 @@
                                 const Options& options,
                                 const ProfileCallback& callback) {
 #if defined(OS_CHROMEOS)
-  chromeos::BluetoothProfileExperimentalChromeOS* profile = NULL;
-  profile = new chromeos::BluetoothProfileExperimentalChromeOS();
+  chromeos::BluetoothProfileChromeOS* profile = NULL;
+  profile = new chromeos::BluetoothProfileChromeOS();
   profile->Init(uuid, options, callback);
 #elif defined(OS_MACOSX)
   BluetoothProfile* profile = NULL;
diff --git a/device/bluetooth/bluetooth_profile_experimental_chromeos.cc b/device/bluetooth/bluetooth_profile_chromeos.cc
similarity index 66%
rename from device/bluetooth/bluetooth_profile_experimental_chromeos.cc
rename to device/bluetooth/bluetooth_profile_chromeos.cc
index 57a6a43..6d0bb4e 100644
--- a/device/bluetooth/bluetooth_profile_experimental_chromeos.cc
+++ b/device/bluetooth/bluetooth_profile_chromeos.cc
@@ -1,8 +1,8 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "device/bluetooth/bluetooth_profile_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_profile_chromeos.h"
 
 #include <string>
 
@@ -17,19 +17,19 @@
 #include "base/task_runner_util.h"
 #include "base/threading/thread_restrictions.h"
 #include "base/threading/worker_pool.h"
+#include "chromeos/dbus/bluetooth_profile_manager_client.h"
+#include "chromeos/dbus/bluetooth_profile_service_provider.h"
 #include "chromeos/dbus/dbus_thread_manager.h"
-#include "chromeos/dbus/experimental_bluetooth_profile_manager_client.h"
-#include "chromeos/dbus/experimental_bluetooth_profile_service_provider.h"
 #include "dbus/bus.h"
 #include "dbus/file_descriptor.h"
 #include "dbus/object_path.h"
-#include "device/bluetooth/bluetooth_adapter_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_adapter_chromeos.h"
 #include "device/bluetooth/bluetooth_adapter_factory.h"
 #include "device/bluetooth/bluetooth_device.h"
-#include "device/bluetooth/bluetooth_device_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_device_chromeos.h"
 #include "device/bluetooth/bluetooth_profile.h"
 #include "device/bluetooth/bluetooth_socket.h"
-#include "device/bluetooth/bluetooth_socket_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_socket_chromeos.h"
 
 using device::BluetoothAdapter;
 using device::BluetoothAdapterFactory;
@@ -53,16 +53,16 @@
 
 namespace chromeos {
 
-BluetoothProfileExperimentalChromeOS::BluetoothProfileExperimentalChromeOS()
+BluetoothProfileChromeOS::BluetoothProfileChromeOS()
     : weak_ptr_factory_(this) {
 }
 
-BluetoothProfileExperimentalChromeOS::~BluetoothProfileExperimentalChromeOS() {
+BluetoothProfileChromeOS::~BluetoothProfileChromeOS() {
   DCHECK(object_path_.value().empty());
   DCHECK(profile_.get() == NULL);
 }
 
-void BluetoothProfileExperimentalChromeOS::Init(
+void BluetoothProfileChromeOS::Init(
     const std::string& uuid,
     const device::BluetoothProfile::Options& options,
     const ProfileCallback& callback) {
@@ -76,7 +76,7 @@
 
   uuid_ = uuid;
 
-  ExperimentalBluetoothProfileManagerClient::Options bluetooth_options;
+  BluetoothProfileManagerClient::Options bluetooth_options;
   bluetooth_options.name = options.name;
   bluetooth_options.service = uuid;
   bluetooth_options.channel = options.channel;
@@ -96,58 +96,53 @@
                                   uuid_path);
 
   dbus::Bus* system_bus = DBusThreadManager::Get()->GetSystemBus();
-  profile_.reset(ExperimentalBluetoothProfileServiceProvider::Create(
+  profile_.reset(BluetoothProfileServiceProvider::Create(
       system_bus, object_path_, this));
   DCHECK(profile_.get());
 
   VLOG(1) << object_path_.value() << ": Register profile";
-  DBusThreadManager::Get()->GetExperimentalBluetoothProfileManagerClient()->
+  DBusThreadManager::Get()->GetBluetoothProfileManagerClient()->
       RegisterProfile(
           object_path_,
           uuid,
           bluetooth_options,
-          base::Bind(
-              &BluetoothProfileExperimentalChromeOS::OnRegisterProfile,
-              weak_ptr_factory_.GetWeakPtr(),
-              callback),
-          base::Bind(
-              &BluetoothProfileExperimentalChromeOS::OnRegisterProfileError,
-              weak_ptr_factory_.GetWeakPtr(),
-              callback));
+          base::Bind(&BluetoothProfileChromeOS::OnRegisterProfile,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     callback),
+          base::Bind(&BluetoothProfileChromeOS::OnRegisterProfileError,
+                     weak_ptr_factory_.GetWeakPtr(),
+                     callback));
 }
 
-void BluetoothProfileExperimentalChromeOS::Unregister() {
+void BluetoothProfileChromeOS::Unregister() {
   DCHECK(!object_path_.value().empty());
   DCHECK(profile_.get());
 
   profile_.reset();
 
   VLOG(1) << object_path_.value() << ": Unregister profile";
-  DBusThreadManager::Get()->GetExperimentalBluetoothProfileManagerClient()->
+  DBusThreadManager::Get()->GetBluetoothProfileManagerClient()->
       UnregisterProfile(
           object_path_,
-          base::Bind(
-              &BluetoothProfileExperimentalChromeOS::OnUnregisterProfile,
-              weak_ptr_factory_.GetWeakPtr()),
-          base::Bind(
-              &BluetoothProfileExperimentalChromeOS::OnUnregisterProfileError,
-              weak_ptr_factory_.GetWeakPtr()));
+          base::Bind(&BluetoothProfileChromeOS::OnUnregisterProfile,
+                     weak_ptr_factory_.GetWeakPtr()),
+          base::Bind(&BluetoothProfileChromeOS::OnUnregisterProfileError,
+                     weak_ptr_factory_.GetWeakPtr()));
 }
 
-void BluetoothProfileExperimentalChromeOS::SetConnectionCallback(
+void BluetoothProfileChromeOS::SetConnectionCallback(
     const ConnectionCallback& callback) {
   connection_callback_ = callback;
 }
 
-void BluetoothProfileExperimentalChromeOS::Release() {
+void BluetoothProfileChromeOS::Release() {
   VLOG(1) << object_path_.value() << ": Release";
 }
 
-void BluetoothProfileExperimentalChromeOS::NewConnection(
+void BluetoothProfileChromeOS::NewConnection(
     const dbus::ObjectPath& device_path,
     scoped_ptr<dbus::FileDescriptor> fd,
-    const ExperimentalBluetoothProfileServiceProvider::Delegate::Options&
-        options,
+    const BluetoothProfileServiceProvider::Delegate::Options& options,
     const ConfirmationCallback& callback) {
   VLOG(1) << object_path_.value() << ": New connection from device: "
           << device_path.value();;
@@ -162,34 +157,34 @@
   // base::Passed is used to take ownership of the file descriptor during the
   // CheckValidity() call and pass that ownership to the GetAdapter() call.
   base::PostTaskAndReplyWithResult(
-      base::WorkerPool::GetTaskRunner(false),
+      base::WorkerPool::GetTaskRunner(false).get(),
       FROM_HERE,
       base::Bind(&CheckValidity, base::Passed(&fd)),
-      base::Bind(&BluetoothProfileExperimentalChromeOS::GetAdapter,
+      base::Bind(&BluetoothProfileChromeOS::GetAdapter,
                  weak_ptr_factory_.GetWeakPtr(),
                  device_path,
                  options,
                  callback));
 }
 
-void BluetoothProfileExperimentalChromeOS::RequestDisconnection(
+void BluetoothProfileChromeOS::RequestDisconnection(
     const dbus::ObjectPath& device_path,
     const ConfirmationCallback& callback) {
   VLOG(1) << object_path_.value() << ": Request disconnection";
   callback.Run(SUCCESS);
 }
 
-void BluetoothProfileExperimentalChromeOS::Cancel() {
+void BluetoothProfileChromeOS::Cancel() {
   VLOG(1) << object_path_.value() << ": Cancel";
 }
 
-void BluetoothProfileExperimentalChromeOS::OnRegisterProfile(
+void BluetoothProfileChromeOS::OnRegisterProfile(
     const ProfileCallback& callback) {
   VLOG(1) << object_path_.value() << ": Profile registered";
   callback.Run(this);
 }
 
-void BluetoothProfileExperimentalChromeOS::OnRegisterProfileError(
+void BluetoothProfileChromeOS::OnRegisterProfileError(
     const ProfileCallback& callback,
     const std::string& error_name,
     const std::string& error_message) {
@@ -200,13 +195,13 @@
   Unregister();
 }
 
-void BluetoothProfileExperimentalChromeOS::OnUnregisterProfile() {
+void BluetoothProfileChromeOS::OnUnregisterProfile() {
   VLOG(1) << object_path_.value() << ": Profile unregistered";
   object_path_ = dbus::ObjectPath("");
   delete this;
 }
 
-void BluetoothProfileExperimentalChromeOS::OnUnregisterProfileError(
+void BluetoothProfileChromeOS::OnUnregisterProfileError(
     const std::string& error_name,
     const std::string& error_message) {
   LOG(WARNING) << object_path_.value() << ": Failed to unregister profile: "
@@ -215,10 +210,9 @@
   delete this;
 }
 
-void BluetoothProfileExperimentalChromeOS::GetAdapter(
+void BluetoothProfileChromeOS::GetAdapter(
       const dbus::ObjectPath& device_path,
-      const ExperimentalBluetoothProfileServiceProvider::Delegate::Options&
-          options,
+      const BluetoothProfileServiceProvider::Delegate::Options& options,
       const ConfirmationCallback& callback,
       scoped_ptr<dbus::FileDescriptor> fd) {
   VLOG(1) << object_path_.value() << ": Validity check complete";
@@ -228,7 +222,7 @@
   }
 
   BluetoothAdapterFactory::GetAdapter(
-      base::Bind(&BluetoothProfileExperimentalChromeOS::OnGetAdapter,
+      base::Bind(&BluetoothProfileChromeOS::OnGetAdapter,
                  weak_ptr_factory_.GetWeakPtr(),
                  device_path,
                  options,
@@ -236,9 +230,9 @@
                  base::Passed(&fd)));
 }
 
-void BluetoothProfileExperimentalChromeOS::OnGetAdapter(
+void BluetoothProfileChromeOS::OnGetAdapter(
     const dbus::ObjectPath& device_path,
-    const ExperimentalBluetoothProfileServiceProvider::Delegate::Options&
+    const BluetoothProfileServiceProvider::Delegate::Options&
         options,
     const ConfirmationCallback& callback,
     scoped_ptr<dbus::FileDescriptor> fd,
@@ -246,13 +240,13 @@
   VLOG(1) << object_path_.value() << ": Obtained adapter reference";
   callback.Run(SUCCESS);
 
-  BluetoothDeviceExperimentalChromeOS* device =
-      static_cast<BluetoothAdapterExperimentalChromeOS*>(adapter.get())->
+  BluetoothDeviceChromeOS* device =
+      static_cast<BluetoothAdapterChromeOS*>(adapter.get())->
           GetDeviceWithPath(device_path);
   DCHECK(device);
 
   scoped_refptr<BluetoothSocket> socket((
-      BluetoothSocketExperimentalChromeOS::Create(fd.get())));
+      BluetoothSocketChromeOS::Create(fd.get())));
   connection_callback_.Run(device, socket);
 }
 
diff --git a/device/bluetooth/bluetooth_profile_experimental_chromeos.h b/device/bluetooth/bluetooth_profile_chromeos.h
similarity index 70%
rename from device/bluetooth/bluetooth_profile_experimental_chromeos.h
rename to device/bluetooth/bluetooth_profile_chromeos.h
index 61d4c44..c13951e 100644
--- a/device/bluetooth/bluetooth_profile_experimental_chromeos.h
+++ b/device/bluetooth/bluetooth_profile_chromeos.h
@@ -1,9 +1,9 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_EXPERIMENTAL_CHROMEOS_H_
-#define DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_EXPERIMENTAL_CHROMEOS_H_
+#ifndef DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_CHROMEOS_H_
+#define DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_CHROMEOS_H_
 
 #include <string>
 
@@ -12,7 +12,7 @@
 #include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "chromeos/chromeos_export.h"
-#include "chromeos/dbus/experimental_bluetooth_profile_service_provider.h"
+#include "chromeos/dbus/bluetooth_profile_service_provider.h"
 #include "dbus/object_path.h"
 #include "device/bluetooth/bluetooth_profile.h"
 
@@ -30,13 +30,11 @@
 
 namespace chromeos {
 
-// The BluetoothProfileExperimentalChromeOS class implements BluetoothProfile
-// for the Chrome OS platform using the Bluetooth Smart capable backend (there
-// is no implementation for the older backend). It will be renamed to
-// BluetoothProfileChromeOS, once the backend is the sole implementation.
-class CHROMEOS_EXPORT BluetoothProfileExperimentalChromeOS
+// The BluetoothProfileChromeOS class implements BluetoothProfile for the
+// Chrome OS platform.
+class CHROMEOS_EXPORT BluetoothProfileChromeOS
     : public device::BluetoothProfile,
-      private ExperimentalBluetoothProfileServiceProvider::Delegate {
+      private BluetoothProfileServiceProvider::Delegate {
  public:
   // BluetoothProfile override.
   virtual void Unregister() OVERRIDE;
@@ -49,8 +47,8 @@
  private:
   friend class BluetoothProfile;
 
-  BluetoothProfileExperimentalChromeOS();
-  virtual ~BluetoothProfileExperimentalChromeOS();
+  BluetoothProfileChromeOS();
+  virtual ~BluetoothProfileChromeOS();
 
   // Called by BluetoothProfile::Register to initialize the profile object
   // asynchronously. |uuid|, |options| and |callback| are the arguments to
@@ -59,13 +57,12 @@
             const device::BluetoothProfile::Options& options,
             const ProfileCallback& callback);
 
-  // ExperimentalBluetoothProfileServiceProvider::Delegate override.
+  // BluetoothProfileServiceProvider::Delegate override.
   virtual void Release() OVERRIDE;
   virtual void NewConnection(
       const dbus::ObjectPath& device_path,
       scoped_ptr<dbus::FileDescriptor> fd,
-      const ExperimentalBluetoothProfileServiceProvider::Delegate::Options&
-          options,
+      const BluetoothProfileServiceProvider::Delegate::Options& options,
       const ConfirmationCallback& callback) OVERRIDE;
   virtual void RequestDisconnection(
       const dbus::ObjectPath& device_path,
@@ -94,14 +91,12 @@
   // becomes the result of a PostTaskAndReplyWithResult() call.
   void GetAdapter(
       const dbus::ObjectPath& device_path,
-      const ExperimentalBluetoothProfileServiceProvider::Delegate::Options&
-          options,
+      const BluetoothProfileServiceProvider::Delegate::Options& options,
       const ConfirmationCallback& callback,
       scoped_ptr<dbus::FileDescriptor> fd);
   void OnGetAdapter(
       const dbus::ObjectPath& device_path,
-      const ExperimentalBluetoothProfileServiceProvider::Delegate::Options&
-          options,
+      const BluetoothProfileServiceProvider::Delegate::Options& options,
       const ConfirmationCallback& callback,
       scoped_ptr<dbus::FileDescriptor> fd,
       scoped_refptr<device::BluetoothAdapter>);
@@ -114,7 +109,7 @@
 
   // Local profile D-Bus object used for receiving profile delegate methods
   // from BlueZ.
-  scoped_ptr<ExperimentalBluetoothProfileServiceProvider> profile_;
+  scoped_ptr<BluetoothProfileServiceProvider> profile_;
 
   // Callback used on both outgoing and incoming connections to pass the
   // connected socket to profile object owner.
@@ -122,11 +117,11 @@
 
   // Note: This should remain the last member so it'll be destroyed and
   // invalidate its weak pointers before any other members are destroyed.
-  base::WeakPtrFactory<BluetoothProfileExperimentalChromeOS> weak_ptr_factory_;
+  base::WeakPtrFactory<BluetoothProfileChromeOS> weak_ptr_factory_;
 
-  DISALLOW_COPY_AND_ASSIGN(BluetoothProfileExperimentalChromeOS);
+  DISALLOW_COPY_AND_ASSIGN(BluetoothProfileChromeOS);
 };
 
 }  // namespace chromeos
 
-#endif  // DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_EXPERIMENTAL_CHROMEOS_H_
+#endif  // DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_CHROMEOS_H_
diff --git a/device/bluetooth/bluetooth_profile_chromeos_unittest.cc b/device/bluetooth/bluetooth_profile_chromeos_unittest.cc
index 140ba2d..b59a635 100644
--- a/device/bluetooth/bluetooth_profile_chromeos_unittest.cc
+++ b/device/bluetooth/bluetooth_profile_chromeos_unittest.cc
@@ -8,14 +8,14 @@
 #include "chromeos/dbus/fake_bluetooth_profile_service_provider.h"
 #include "chromeos/dbus/mock_dbus_thread_manager_without_gmock.h"
 #include "device/bluetooth/bluetooth_adapter.h"
-#include "device/bluetooth/bluetooth_adapter_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_adapter_chromeos.h"
 #include "device/bluetooth/bluetooth_adapter_factory.h"
 #include "device/bluetooth/bluetooth_device.h"
-#include "device/bluetooth/bluetooth_device_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_device_chromeos.h"
 #include "device/bluetooth/bluetooth_profile.h"
-#include "device/bluetooth/bluetooth_profile_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_profile_chromeos.h"
 #include "device/bluetooth/bluetooth_socket.h"
-#include "device/bluetooth/bluetooth_socket_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_socket_chromeos.h"
 #include "net/base/io_buffer.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -48,7 +48,7 @@
     device::BluetoothAdapterFactory::GetAdapter(
         base::Bind(&BluetoothProfileChromeOSTest::AdapterCallback,
                    base::Unretained(this)));
-    ASSERT_TRUE(adapter_ != NULL);
+    ASSERT_TRUE(adapter_.get() != NULL);
     ASSERT_TRUE(adapter_->IsInitialized());
     ASSERT_TRUE(adapter_->IsPresent());
 
@@ -171,7 +171,7 @@
   // Read data from the socket; since no data should be waiting, this should
   // return success but no data.
   read_buffer = new net::GrowableIOBuffer;
-  success = socket->Receive(read_buffer);
+  success = socket->Receive(read_buffer.get());
   EXPECT_TRUE(success);
   EXPECT_EQ(0, read_buffer->capacity());
   EXPECT_EQ(0, read_buffer->offset());
@@ -179,8 +179,9 @@
 
   // Write data to the socket; the data should be consumed and no bytes should
   // be remaining.
-  write_buffer = new net::DrainableIOBuffer(base_buffer, base_buffer->size());
-  success = socket->Send(write_buffer);
+  write_buffer =
+      new net::DrainableIOBuffer(base_buffer.get(), base_buffer->size());
+  success = socket->Send(write_buffer.get());
   EXPECT_TRUE(success);
   EXPECT_EQ(base_buffer->size(), write_buffer->BytesConsumed());
   EXPECT_EQ(0, write_buffer->BytesRemaining());
@@ -191,7 +192,7 @@
   // to read.
   read_buffer = new net::GrowableIOBuffer;
   do {
-    success = socket->Receive(read_buffer);
+    success = socket->Receive(read_buffer.get());
   } while (success && read_buffer->offset() == 0);
   EXPECT_TRUE(success);
   EXPECT_NE(0, read_buffer->capacity());
@@ -204,8 +205,9 @@
 
   // Write data to the socket; since the socket is closed, this should return
   // an error without writing the data and "Disconnected" as the message.
-  write_buffer = new net::DrainableIOBuffer(base_buffer, base_buffer->size());
-  success = socket->Send(write_buffer);
+  write_buffer =
+      new net::DrainableIOBuffer(base_buffer.get(), base_buffer->size());
+  success = socket->Send(write_buffer.get());
   EXPECT_FALSE(success);
   EXPECT_EQ(0, write_buffer->BytesConsumed());
   EXPECT_EQ(base_buffer->size(), write_buffer->BytesRemaining());
@@ -214,7 +216,7 @@
   // Read data from the socket; since the socket is closed, this should return
   // an error with "Disconnected" as the last message.
   read_buffer = new net::GrowableIOBuffer;
-  success = socket->Receive(read_buffer);
+  success = socket->Receive(read_buffer.get());
   EXPECT_FALSE(success);
   EXPECT_EQ(0, read_buffer->capacity());
   EXPECT_EQ(0, read_buffer->offset());
@@ -295,15 +297,16 @@
   // Read data from the socket; since no data should be waiting, this should
   // return success but no data.
   read_buffer = new net::GrowableIOBuffer;
-  success = socket->Receive(read_buffer);
+  success = socket->Receive(read_buffer.get());
   EXPECT_TRUE(success);
   EXPECT_EQ(0, read_buffer->offset());
   EXPECT_EQ("", socket->GetLastErrorMessage());
 
   // Write data to the socket; the data should be consumed and no bytes should
   // be remaining.
-  write_buffer = new net::DrainableIOBuffer(base_buffer, base_buffer->size());
-  success = socket->Send(write_buffer);
+  write_buffer =
+      new net::DrainableIOBuffer(base_buffer.get(), base_buffer->size());
+  success = socket->Send(write_buffer.get());
   EXPECT_TRUE(success);
   EXPECT_EQ(base_buffer->size(), write_buffer->BytesConsumed());
   EXPECT_EQ(0, write_buffer->BytesRemaining());
@@ -314,7 +317,7 @@
   // to read.
   read_buffer = new net::GrowableIOBuffer;
   do {
-    success = socket->Receive(read_buffer);
+    success = socket->Receive(read_buffer.get());
   } while (success && read_buffer->offset() == 0);
   EXPECT_TRUE(success);
   EXPECT_NE(0, read_buffer->capacity());
@@ -327,8 +330,9 @@
 
   // Write data to the socket; since the socket is closed, this should return
   // an error without writing the data and "Disconnected" as the message.
-  write_buffer = new net::DrainableIOBuffer(base_buffer, base_buffer->size());
-  success = socket->Send(write_buffer);
+  write_buffer =
+      new net::DrainableIOBuffer(base_buffer.get(), base_buffer->size());
+  success = socket->Send(write_buffer.get());
   EXPECT_FALSE(success);
   EXPECT_EQ(0, write_buffer->BytesConsumed());
   EXPECT_EQ(base_buffer->size(), write_buffer->BytesRemaining());
@@ -337,7 +341,7 @@
   // Read data from the socket; since the socket is closed, this should return
   // an error with "Disconnected" as the last message.
   read_buffer = new net::GrowableIOBuffer;
-  success = socket->Receive(read_buffer);
+  success = socket->Receive(read_buffer.get());
   EXPECT_FALSE(success);
   EXPECT_EQ(0, read_buffer->offset());
   EXPECT_EQ("Disconnected", socket->GetLastErrorMessage());
diff --git a/device/bluetooth/bluetooth_socket_experimental_chromeos.cc b/device/bluetooth/bluetooth_socket_chromeos.cc
similarity index 82%
rename from device/bluetooth/bluetooth_socket_experimental_chromeos.cc
rename to device/bluetooth/bluetooth_socket_chromeos.cc
index 21d281a..81395dc 100644
--- a/device/bluetooth/bluetooth_socket_experimental_chromeos.cc
+++ b/device/bluetooth/bluetooth_socket_chromeos.cc
@@ -1,8 +1,8 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "device/bluetooth/bluetooth_socket_experimental_chromeos.h"
+#include "device/bluetooth/bluetooth_socket_chromeos.h"
 
 #include <errno.h>
 #include <poll.h>
@@ -24,8 +24,7 @@
 
 namespace chromeos {
 
-BluetoothSocketExperimentalChromeOS::BluetoothSocketExperimentalChromeOS(
-    int fd)
+BluetoothSocketChromeOS::BluetoothSocketChromeOS(int fd)
     : fd_(fd) {
   // Fetch the socket type so we read from it correctly.
   int optval;
@@ -44,12 +43,11 @@
   }
 }
 
-BluetoothSocketExperimentalChromeOS::~BluetoothSocketExperimentalChromeOS() {
+BluetoothSocketChromeOS::~BluetoothSocketChromeOS() {
   HANDLE_EINTR(close(fd_));
 }
 
-bool BluetoothSocketExperimentalChromeOS::Receive(
-    net::GrowableIOBuffer *buffer) {
+bool BluetoothSocketChromeOS::Receive(net::GrowableIOBuffer *buffer) {
   base::ThreadRestrictions::AssertIOAllowed();
 
   if (socket_type_ == L2CAP) {
@@ -127,8 +125,7 @@
   return true;
 }
 
-bool BluetoothSocketExperimentalChromeOS::Send(
-    net::DrainableIOBuffer *buffer) {
+bool BluetoothSocketChromeOS::Send(net::DrainableIOBuffer *buffer) {
   base::ThreadRestrictions::AssertIOAllowed();
 
   ssize_t bytes_written;
@@ -153,18 +150,18 @@
   return true;
 }
 
-std::string BluetoothSocketExperimentalChromeOS::GetLastErrorMessage() const {
+std::string BluetoothSocketChromeOS::GetLastErrorMessage() const {
   return error_message_;
 }
 
 // static
-scoped_refptr<device::BluetoothSocket>
-BluetoothSocketExperimentalChromeOS::Create(dbus::FileDescriptor* fd) {
+scoped_refptr<device::BluetoothSocket> BluetoothSocketChromeOS::Create(
+    dbus::FileDescriptor* fd) {
   DCHECK(fd->is_valid());
 
-  BluetoothSocketExperimentalChromeOS* bluetooth_socket =
-      new BluetoothSocketExperimentalChromeOS(fd->TakeValue());;
-  return scoped_refptr<BluetoothSocketExperimentalChromeOS>(bluetooth_socket);
+  BluetoothSocketChromeOS* bluetooth_socket =
+      new BluetoothSocketChromeOS(fd->TakeValue());;
+  return scoped_refptr<BluetoothSocketChromeOS>(bluetooth_socket);
 }
 
 }  // namespace chromeos
diff --git a/device/bluetooth/bluetooth_socket_experimental_chromeos.h b/device/bluetooth/bluetooth_socket_chromeos.h
similarity index 65%
rename from device/bluetooth/bluetooth_socket_experimental_chromeos.h
rename to device/bluetooth/bluetooth_socket_chromeos.h
index c0e1af0..1c52c67 100644
--- a/device/bluetooth/bluetooth_socket_experimental_chromeos.h
+++ b/device/bluetooth/bluetooth_socket_chromeos.h
@@ -1,9 +1,9 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef DEVICE_BLUETOOTH_BLUETOOTH_SOCKET_EXPERIMENTAL_CHROMEOS_H_
-#define DEVICE_BLUETOOTH_BLUETOOTH_SOCKET_EXPERIMENTAL_CHROMEOS_H_
+#ifndef DEVICE_BLUETOOTH_BLUETOOTH_SOCKET_CHROMEOS_H_
+#define DEVICE_BLUETOOTH_BLUETOOTH_SOCKET_CHROMEOS_H_
 
 #include <string>
 
@@ -27,11 +27,9 @@
 
 namespace chromeos {
 
-// The BluetoothSocketExperimentalChromeOS class is an alternate implementation
-// of BluetoothSocket for the Chrome OS platform using the Bluetooth Smart
-// capable backend. It will become the sole implementation for Chrome OS, and
-// be renamed to BluetoothSocketChromeOS, once the backend is switched.
-class CHROMEOS_EXPORT BluetoothSocketExperimentalChromeOS
+// The BluetoothSocketChromeOS class implements BluetoothSocket for the
+// Chrome OS platform.
+class CHROMEOS_EXPORT BluetoothSocketChromeOS
     : public device::BluetoothSocket {
  public:
   // BluetoothSocket override.
@@ -46,10 +44,10 @@
       dbus::FileDescriptor* fd);
 
  protected:
-  virtual ~BluetoothSocketExperimentalChromeOS();
+  virtual ~BluetoothSocketChromeOS();
 
  private:
-  BluetoothSocketExperimentalChromeOS(int fd);
+  BluetoothSocketChromeOS(int fd);
 
   // The different socket types have different reading patterns; l2cap sockets
   // have to be read with boundaries between datagrams preserved while rfcomm
@@ -67,9 +65,9 @@
   // GetLastErrorMessage().
   std::string error_message_;
 
-  DISALLOW_COPY_AND_ASSIGN(BluetoothSocketExperimentalChromeOS);
+  DISALLOW_COPY_AND_ASSIGN(BluetoothSocketChromeOS);
 };
 
 }  // namespace chromeos
 
-#endif  // DEVICE_BLUETOOTH_BLUETOOTH_SOCKET_EXPERIMENTAL_CHROMEOS_H_
+#endif  // DEVICE_BLUETOOTH_BLUETOOTH_SOCKET_CHROMEOS_H_