| Index: components/arc/arc_bridge_service_impl.cc | 
| diff --git a/components/arc/arc_bridge_service_impl.cc b/components/arc/arc_bridge_service_impl.cc | 
| index 1ca85afc2eb8a14e1dd676a7013619d8e0f2222e..2572579948830a73169b6681a7c8deab24be05df 100644 | 
| --- a/components/arc/arc_bridge_service_impl.cc | 
| +++ b/components/arc/arc_bridge_service_impl.cc | 
| @@ -19,28 +19,6 @@ | 
| #include "chromeos/dbus/dbus_method_call_status.h" | 
| #include "chromeos/dbus/dbus_thread_manager.h" | 
| #include "chromeos/dbus/session_manager_client.h" | 
| -#include "mojo/public/cpp/bindings/array.h" | 
| -#include "third_party/mojo/src/mojo/edk/embedder/embedder.h" | 
| - | 
| -namespace mojo { | 
| - | 
| -template <> | 
| -struct TypeConverter<arc::AppInfo, arc::AppInfoPtr> { | 
| -  static arc::AppInfo Convert(const arc::AppInfoPtr& app_info_ptr) { | 
| -    return *app_info_ptr; | 
| -  } | 
| -}; | 
| - | 
| -template <> | 
| -struct TypeConverter<arc::RunningAppProcessInfo, | 
| -                     arc::RunningAppProcessInfoPtr> { | 
| -  static arc::RunningAppProcessInfo Convert( | 
| -      const arc::RunningAppProcessInfoPtr& process_ptr) { | 
| -    return *process_ptr; | 
| -  } | 
| -}; | 
| - | 
| -}  // namespace mojo | 
|  | 
| namespace arc { | 
|  | 
| @@ -100,174 +78,6 @@ void ArcBridgeServiceImpl::StopInstance() { | 
| bootstrap_->Stop(); | 
| } | 
|  | 
| -bool ArcBridgeServiceImpl::RegisterInputDevice(const std::string& name, | 
| -                                               const std::string& device_type, | 
| -                                               base::ScopedFD fd) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  if (state() != State::READY) { | 
| -    LOG(ERROR) << "Called RegisterInputDevice when the service is not ready"; | 
| -    return false; | 
| -  } | 
| -  MojoHandle wrapped_handle; | 
| -  MojoResult wrap_result = mojo::embedder::CreatePlatformHandleWrapper( | 
| -      mojo::embedder::ScopedPlatformHandle( | 
| -          mojo::embedder::PlatformHandle(fd.release())), | 
| -      &wrapped_handle); | 
| -  if (wrap_result != MOJO_RESULT_OK) { | 
| -    LOG(WARNING) << "Pipe failed to wrap handles. Closing: " << wrap_result; | 
| -    return false; | 
| -  } | 
| -  instance_ptr_->RegisterInputDevice( | 
| -      name, device_type, mojo::ScopedHandle(mojo::Handle(wrapped_handle))); | 
| -  return true; | 
| -} | 
| - | 
| -bool ArcBridgeServiceImpl::SendBroadcast(const std::string& action, | 
| -                                         const std::string& package, | 
| -                                         const std::string& clazz, | 
| -                                         const base::DictionaryValue& extras) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  if (action.empty() || package.empty() || clazz.empty()) { | 
| -    LOG(ERROR) << "SendBroadcast failed: Invalid parameter"; | 
| -    return false; | 
| -  } | 
| -  std::string extras_json; | 
| -  bool write_success = base::JSONWriter::Write(extras, &extras_json); | 
| -  DCHECK(write_success); | 
| -  if (state() != State::READY) { | 
| -    LOG(ERROR) << "Called SendBroadcast when the service is not ready"; | 
| -    return false; | 
| -  } | 
| -  instance_ptr_->SendBroadcast(action, package, clazz, extras_json); | 
| -  return true; | 
| -} | 
| - | 
| -bool ArcBridgeServiceImpl::SendNotificationEventToAndroid( | 
| -    const std::string& key, ArcNotificationEvent event) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  if (key.empty()) { | 
| -    LOG(ERROR) << "SendNotificationToAndroid failed: Wrong parameter"; | 
| -    return false; | 
| -  } | 
| -  if (state() != State::READY) { | 
| -    LOG(ERROR) << "Called SendNotificationEventToAndroid when the service is" | 
| -      << "not ready"; | 
| -    return false; | 
| -  } | 
| -  instance_ptr_->SendNotificationEventToAndroid(key, event); | 
| -  return true; | 
| -} | 
| - | 
| -bool ArcBridgeServiceImpl::RefreshAppList() { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  if (state() != State::READY) { | 
| -    LOG(ERROR) << "Called RefreshAppList when the service is not ready"; | 
| -    return false; | 
| -  } | 
| -  instance_ptr_->RefreshAppList(); | 
| -  return true; | 
| -} | 
| - | 
| -bool ArcBridgeServiceImpl::LaunchApp(const std::string& package, | 
| -                                     const std::string& activity) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  if (state() != State::READY) { | 
| -    LOG(ERROR) << "Called LaunchApp when the service is not ready"; | 
| -    return false; | 
| -  } | 
| -  instance_ptr_->LaunchApp(package, activity); | 
| -  return true; | 
| -} | 
| - | 
| -bool ArcBridgeServiceImpl::RequestAppIcon(const std::string& package, | 
| -                                          const std::string& activity, | 
| -                                          ScaleFactor scale_factor) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  if (state() != State::READY) { | 
| -    LOG(ERROR) << "Called RequestAppIcon when the service is not ready"; | 
| -    return false; | 
| -  } | 
| -  instance_ptr_->RequestAppIcon(package, activity, scale_factor); | 
| -  return true; | 
| -} | 
| - | 
| -bool ArcBridgeServiceImpl::RequestProcessList() { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  if (state() != State::READY) { | 
| -    LOG_IF(ERROR, base::SysInfo::IsRunningOnChromeOS()) | 
| -        << "Called RequestProcessList when the service is not ready"; | 
| -    return false; | 
| -  } | 
| -  instance_ptr_->RequestProcessList(); | 
| -  return true; | 
| -} | 
| - | 
| -void ArcBridgeServiceImpl::OnInstanceBootPhase(InstanceBootPhase phase) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  // The state can be CONNECTED the first time this is called, and will then | 
| -  // transition to READY after BRIDGE_READY has been passed. | 
| -  if (state() != State::CONNECTED && state() != State::READY) { | 
| -    VLOG(1) << "StopInstance() called while connecting"; | 
| -    return; | 
| -  } | 
| -  if (phase == INSTANCE_BOOT_PHASE_BRIDGE_READY) { | 
| -    SetState(State::READY); | 
| -  } | 
| -  FOR_EACH_OBSERVER(Observer, observer_list(), OnInstanceBootPhase(phase)); | 
| -} | 
| - | 
| -void ArcBridgeServiceImpl::OnNotificationPosted(ArcNotificationDataPtr data) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  FOR_EACH_OBSERVER(NotificationObserver, notification_observer_list(), | 
| -                    OnNotificationPostedFromAndroid(*data.get())); | 
| -} | 
| - | 
| -void ArcBridgeServiceImpl::OnNotificationRemoved(const mojo::String& key) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  FOR_EACH_OBSERVER(NotificationObserver, notification_observer_list(), | 
| -                    OnNotificationRemovedFromAndroid(key)); | 
| -} | 
| - | 
| -void ArcBridgeServiceImpl::OnAppListRefreshed( | 
| -    mojo::Array<arc::AppInfoPtr> apps_ptr) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  std::vector<arc::AppInfo> apps(apps_ptr.To<std::vector<arc::AppInfo>>()); | 
| -  FOR_EACH_OBSERVER(AppObserver, app_observer_list(), OnAppListRefreshed(apps)); | 
| -} | 
| - | 
| -void ArcBridgeServiceImpl::OnAppIcon(const mojo::String& package, | 
| -                                     const mojo::String& activity, | 
| -                                     ScaleFactor scale_factor, | 
| -                                     mojo::Array<uint8_t> icon_png_data) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  FOR_EACH_OBSERVER( | 
| -      AppObserver, app_observer_list(), | 
| -      OnAppIcon(package, activity, scale_factor, icon_png_data.storage())); | 
| -} | 
| - | 
| -void ArcBridgeServiceImpl::OnUpdateProcessList( | 
| -    mojo::Array<RunningAppProcessInfoPtr> processes_ptr) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  std::vector<RunningAppProcessInfo> processes( | 
| -      processes_ptr.To<std::vector<RunningAppProcessInfo>>()); | 
| -  FOR_EACH_OBSERVER( | 
| -      ProcessObserver, | 
| -      process_observer_list(), | 
| -      OnUpdateProcessList(processes)); | 
| -} | 
| - | 
| -void ArcBridgeServiceImpl::OnAcquireDisplayWakeLock(DisplayWakeLockType type) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  // TODO(ejcaruso): Implement. | 
| -  VLOG(1) << "OnAcquireDisplayWakeLock"; | 
| -} | 
| - | 
| -void ArcBridgeServiceImpl::OnReleaseDisplayWakeLock(DisplayWakeLockType type) { | 
| -  DCHECK(CalledOnValidThread()); | 
| -  // TODO(ejcaruso): Implement. | 
| -  VLOG(1) << "OnReleaseDisplayWakeLock"; | 
| -} | 
| - | 
| void ArcBridgeServiceImpl::OnArcAvailable(bool arc_available) { | 
| DCHECK(CalledOnValidThread()); | 
| if (available() == arc_available) | 
| @@ -290,7 +100,7 @@ void ArcBridgeServiceImpl::OnConnectionEstablished( | 
| binding_.Bind(GetProxy(&host)); | 
| instance_ptr_->Init(std::move(host)); | 
|  | 
| -  SetState(State::CONNECTED); | 
| +  SetState(State::READY); | 
| } | 
|  | 
| void ArcBridgeServiceImpl::OnStopped() { | 
|  |