| // Copyright 2014 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 "extensions/shell/browser/shell_runtime_api_delegate.h" | 
 |  | 
 | #include "build/build_config.h" | 
 | #include "extensions/common/api/runtime.h" | 
 |  | 
 | #if defined(OS_CHROMEOS) | 
 | #include "chromeos/dbus/dbus_thread_manager.h" | 
 | #include "chromeos/dbus/power_manager_client.h" | 
 | #endif | 
 |  | 
 | using extensions::api::runtime::PlatformInfo; | 
 |  | 
 | namespace extensions { | 
 |  | 
 | ShellRuntimeAPIDelegate::ShellRuntimeAPIDelegate() { | 
 | } | 
 |  | 
 | ShellRuntimeAPIDelegate::~ShellRuntimeAPIDelegate() { | 
 | } | 
 |  | 
 | void ShellRuntimeAPIDelegate::AddUpdateObserver(UpdateObserver* observer) { | 
 | } | 
 |  | 
 | void ShellRuntimeAPIDelegate::RemoveUpdateObserver(UpdateObserver* observer) { | 
 | } | 
 |  | 
 | base::Version ShellRuntimeAPIDelegate::GetPreviousExtensionVersion( | 
 |     const Extension* extension) { | 
 |   return base::Version(); | 
 | } | 
 |  | 
 | void ShellRuntimeAPIDelegate::ReloadExtension(const std::string& extension_id) { | 
 | } | 
 |  | 
 | bool ShellRuntimeAPIDelegate::CheckForUpdates( | 
 |     const std::string& extension_id, | 
 |     const UpdateCheckCallback& callback) { | 
 |   return false; | 
 | } | 
 |  | 
 | void ShellRuntimeAPIDelegate::OpenURL(const GURL& uninstall_url) { | 
 | } | 
 |  | 
 | bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) { | 
 | #if defined(OS_CHROMEOS) | 
 |   info->os = api::runtime::PLATFORM_OS_CROS; | 
 | #elif defined(OS_LINUX) | 
 |   info->os = api::runtime::PLATFORM_OS_LINUX; | 
 | #endif | 
 |   return true; | 
 | } | 
 |  | 
 | bool ShellRuntimeAPIDelegate::RestartDevice(std::string* error_message) { | 
 | // We allow chrome.runtime.restart() to request a device restart on ChromeOS. | 
 | #if defined(OS_CHROMEOS) | 
 |   chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart(); | 
 |   return true; | 
 | #endif | 
 |   *error_message = "Restart is only supported on ChromeOS."; | 
 |   return false; | 
 | } | 
 |  | 
 | }  // namespace extensions |