| Index: content/shell/renderer/layout_test/blink_test_runner.cc | 
| diff --git a/content/shell/renderer/layout_test/blink_test_runner.cc b/content/shell/renderer/layout_test/blink_test_runner.cc | 
| index 67cb1028323b679493d08287bd6b4c67bbbaf925..7d85853b6cf81e79a5a24f408c31407dc60ce8e9 100644 | 
| --- a/content/shell/renderer/layout_test/blink_test_runner.cc | 
| +++ b/content/shell/renderer/layout_test/blink_test_runner.cc | 
| @@ -34,6 +34,7 @@ | 
| #include "components/test_runner/web_test_proxy.h" | 
| #include "components/test_runner/web_test_runner.h" | 
| #include "content/public/common/content_switches.h" | 
| +#include "content/public/common/service_registry.h" | 
| #include "content/public/common/url_constants.h" | 
| #include "content/public/common/web_preferences.h" | 
| #include "content/public/renderer/media_stream_utils.h" | 
| @@ -479,15 +480,13 @@ void BlinkTestRunner::SetDeviceColorProfile(const std::string& name) { | 
| content::SetDeviceColorProfile(render_view(), name); | 
| } | 
|  | 
| -void BlinkTestRunner::SetBluetoothMockDataSet(const std::string& name) { | 
| -  Send(new LayoutTestHostMsg_SetBluetoothAdapter(name)); | 
| -  // Auto-reset the chooser type so we don't get order dependence when some | 
| -  // tests forget to do it explicitly. | 
| -  Send(new ShellViewHostMsg_SetBluetoothManualChooser(routing_id(), false)); | 
| +void BlinkTestRunner::SetBluetoothFakeAdapter(const std::string& adapter_name, | 
| +                                              const base::Closure& callback) { | 
| +  GetBluetoothFakeAdapterSetter().Set(adapter_name, callback); | 
| } | 
|  | 
| -void BlinkTestRunner::SetBluetoothManualChooser() { | 
| -  Send(new ShellViewHostMsg_SetBluetoothManualChooser(routing_id(), true)); | 
| +void BlinkTestRunner::SetBluetoothManualChooser(bool enable) { | 
| +  Send(new ShellViewHostMsg_SetBluetoothManualChooser(routing_id(), enable)); | 
| } | 
|  | 
| void BlinkTestRunner::GetBluetoothManualChooserEvents( | 
| @@ -945,6 +944,15 @@ void BlinkTestRunner::CaptureDumpComplete() { | 
| new ShellViewHostMsg_TestFinished(routing_id()))); | 
| } | 
|  | 
| +mojom::LayoutTestBluetoothFakeAdapterSetter& | 
| +BlinkTestRunner::GetBluetoothFakeAdapterSetter() { | 
| +  if (!bluetooth_fake_adapter_setter_) { | 
| +    RenderThread::Get()->GetServiceRegistry()->ConnectToRemoteService( | 
| +        mojo::GetProxy(&bluetooth_fake_adapter_setter_)); | 
| +  } | 
| +  return *bluetooth_fake_adapter_setter_; | 
| +} | 
| + | 
| void BlinkTestRunner::OnReplicateTestConfiguration( | 
| const ShellTestConfiguration& params) { | 
| test_config_ = params; | 
|  |