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#ifndef CONTENT_BROWSER_THEME_HELPER_MAC_H_
6#define CONTENT_BROWSER_THEME_HELPER_MAC_H_
7
8#include "base/memory/singleton.h"
9#include "content/public/browser/notification_observer.h"
10#include "content/public/browser/notification_registrar.h"
11
12namespace content {
13
14class ThemeHelperMac : public NotificationObserver {
15 public:
16  // Return pointer to the singleton instance for the current process, or NULL
17  // if none.
18  static ThemeHelperMac* GetInstance();
19
20  static void SendThemeChangeToAllRenderers(
21      float initial_button_delay,
22      float autoscroll_button_delay,
23      bool jump_on_track_click,
24      bool redraw);
25
26 private:
27  friend struct DefaultSingletonTraits<ThemeHelperMac>;
28
29  ThemeHelperMac();
30  virtual ~ThemeHelperMac();
31
32  // Overridden from NotificationObserver:
33  virtual void Observe(int type,
34                       const NotificationSource& source,
35                       const NotificationDetails& details) OVERRIDE;
36
37  NotificationRegistrar registrar_;
38
39  DISALLOW_COPY_AND_ASSIGN(ThemeHelperMac);
40};
41
42}  // namespace content
43
44#endif  // CONTENT_BROWSER_THEME_HELPER_MAC_H_
45