1// Copyright 2013 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.
4
5#include "chrome/browser/extensions/global_shortcut_listener_ozone.h"
6
7#include "content/public/browser/browser_thread.h"
8
9using content::BrowserThread;
10
11namespace extensions {
12
13// static
14GlobalShortcutListener* GlobalShortcutListener::GetInstance() {
15  CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
16  static GlobalShortcutListenerOzone* instance =
17      new GlobalShortcutListenerOzone();
18  return instance;
19}
20
21GlobalShortcutListenerOzone::GlobalShortcutListenerOzone()
22    : is_listening_(false) {
23  CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
24
25  // TODO(implementor): Remove this.
26  LOG(ERROR) << "GlobalShortcutListenerOzone object created";
27}
28
29GlobalShortcutListenerOzone::~GlobalShortcutListenerOzone() {
30  if (is_listening_)
31    StopListening();
32}
33
34void GlobalShortcutListenerOzone::StartListening() {
35  DCHECK(!is_listening_);  // Don't start twice.
36  NOTIMPLEMENTED();
37  is_listening_ = true;
38}
39
40void GlobalShortcutListenerOzone::StopListening() {
41  DCHECK(is_listening_);  // No point if we are not already listening.
42  NOTIMPLEMENTED();
43  is_listening_ = false;
44}
45
46bool GlobalShortcutListenerOzone::RegisterAcceleratorImpl(
47    const ui::Accelerator& accelerator) {
48  NOTIMPLEMENTED();
49  // To implement:
50  // 1) Convert modifiers to platform specific modifiers.
51  // 2) Register for the hotkey.
52  // 3) If not successful, return false.
53  // 4) Else, return true.
54
55  return false;
56}
57
58void GlobalShortcutListenerOzone::UnregisterAcceleratorImpl(
59    const ui::Accelerator& accelerator) {
60  NOTIMPLEMENTED();
61  // To implement: Unregister for the hotkey.
62}
63
64}  // namespace extensions
65