Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / extensions / shell / browser / shell_runtime_api_delegate.cc
blob77dacab4db1406837cb70e451327bbcce7c177a4
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "extensions/shell/browser/shell_runtime_api_delegate.h"
7 #include "extensions/common/api/runtime.h"
9 #if defined(OS_CHROMEOS)
10 #include "chromeos/dbus/dbus_thread_manager.h"
11 #include "chromeos/dbus/power_manager_client.h"
12 #endif
14 using extensions::api::runtime::PlatformInfo;
16 namespace extensions {
18 ShellRuntimeAPIDelegate::ShellRuntimeAPIDelegate() {
21 ShellRuntimeAPIDelegate::~ShellRuntimeAPIDelegate() {
24 void ShellRuntimeAPIDelegate::AddUpdateObserver(UpdateObserver* observer) {
27 void ShellRuntimeAPIDelegate::RemoveUpdateObserver(UpdateObserver* observer) {
30 base::Version ShellRuntimeAPIDelegate::GetPreviousExtensionVersion(
31 const Extension* extension) {
32 return base::Version();
35 void ShellRuntimeAPIDelegate::ReloadExtension(const std::string& extension_id) {
38 bool ShellRuntimeAPIDelegate::CheckForUpdates(
39 const std::string& extension_id,
40 const UpdateCheckCallback& callback) {
41 return false;
44 void ShellRuntimeAPIDelegate::OpenURL(const GURL& uninstall_url) {
47 bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
48 #if defined(OS_CHROMEOS)
49 info->os = api::runtime::PLATFORM_OS_CROS;
50 #elif defined(OS_LINUX)
51 info->os = api::runtime::PLATFORM_OS_LINUX;
52 #endif
53 return true;
56 bool ShellRuntimeAPIDelegate::RestartDevice(std::string* error_message) {
57 // We allow chrome.runtime.restart() to request a device restart on ChromeOS.
58 #if defined(OS_CHROMEOS)
59 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart();
60 return true;
61 #endif
62 *error_message = "Restart is only supported on ChromeOS.";
63 return false;
66 } // namespace extensions