| // 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 |