1// Copyright (c) 2012 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 CHROME_BROWSER_GPU_GL_STRING_MANAGER_H_
6#define CHROME_BROWSER_GPU_GL_STRING_MANAGER_H_
7
8#include <string>
9
10#include "base/compiler_specific.h"
11#include "content/public/browser/gpu_data_manager_observer.h"
12
13class PrefRegistrySimple;
14
15class GLStringManager : public content::GpuDataManagerObserver {
16 public:
17  static void RegisterPrefs(PrefRegistrySimple* registry);
18
19  GLStringManager();
20  virtual ~GLStringManager();
21
22  // Get cached GL strings in local state and send them to GpuDataManager.
23  void Initialize();
24
25  // content::GpuDataManagerObserver
26  virtual void OnGpuInfoUpdate() OVERRIDE;
27
28 private:
29  std::string gl_vendor_;
30  std::string gl_renderer_;
31  std::string gl_version_;
32
33  DISALLOW_COPY_AND_ASSIGN(GLStringManager);
34};
35
36#endif  // CHROME_BROWSER_GPU_GL_STRING_MANAGER_H_
37
38