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