Index: apps/shell/browser/shell_runtime_api_delegate.cc |
diff --git a/apps/shell/browser/shell_runtime_api_delegate.cc b/apps/shell/browser/shell_runtime_api_delegate.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fc475ba200b8d9d7537d92c511f022b18629233f |
--- /dev/null |
+++ b/apps/shell/browser/shell_runtime_api_delegate.cc |
@@ -0,0 +1,68 @@ |
+// 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 "apps/shell/browser/shell_runtime_api_delegate.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::core_api::runtime::PlatformInfo; |
+ |
+namespace apps { |
+ |
+ShellRuntimeAPIDelegate::ShellRuntimeAPIDelegate() { |
+} |
+ |
+ShellRuntimeAPIDelegate::~ShellRuntimeAPIDelegate() { |
+} |
+ |
+void ShellRuntimeAPIDelegate::AddUpdateObserver( |
+ extensions::UpdateObserver* observer) { |
+} |
+ |
+void ShellRuntimeAPIDelegate::RemoveUpdateObserver( |
+ extensions::UpdateObserver* observer) { |
+} |
+ |
+base::Version ShellRuntimeAPIDelegate::GetPreviousExtensionVersion( |
+ const extensions::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 = PlatformInfo::OS_CROS_; |
+#elif defined(OS_LINUX) |
+ info->os = PlatformInfo::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 apps |