| Index: chrome/common/gpu_feature_flags.h
|
| ===================================================================
|
| --- chrome/common/gpu_feature_flags.h (revision 0)
|
| +++ chrome/common/gpu_feature_flags.h (revision 0)
|
| @@ -0,0 +1,58 @@
|
| +// Copyright (c) 2010 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.
|
| +
|
| +#ifndef CHROME_COMMON_GPU_FEATURE_FLAGS_H__
|
| +#define CHROME_COMMON_GPU_FEATURE_FLAGS_H__
|
| +#pragma once
|
| +
|
| +// Provides flags indicating which gpu features are blacklisted for the system
|
| +// on which chrome is currently running.
|
| +
|
| +#include <string>
|
| +
|
| +class GpuFeatureFlags {
|
| + public:
|
| + enum GpuFeatureType {
|
| + kGpuFeatureAccelerated2dCanvas,
|
| + kGpuFeatureAcceleratedCompositing,
|
| + kGpuFeatureWebgl,
|
| + kGpuFeatureAny,
|
| + kGpuFeatureUnknown
|
| + };
|
| +
|
| + // All flags initialized to false, i.e., no feature is blacklisted.
|
| + GpuFeatureFlags();
|
| +
|
| + bool is_accelerated_2d_canvas_blacklisted() const;
|
| + bool is_accelerated_compositing_blacklisted() const;
|
| + bool is_webgl_blacklisted() const;
|
| +
|
| + void SetFlags(bool is_accelerated_2d_canvas_blacklisted,
|
| + bool is_accelerated_compositing_blacklisted,
|
| + bool is_webgl_blacklisted);
|
| +
|
| + // Resets each flag by OR with the corresponding flag in "other".
|
| + void Combine(const GpuFeatureFlags& other);
|
| +
|
| + // Maps string to GpuFeatureType; returns kGpuFeatureUnknown if none of the
|
| + // following is input (case-sensitive):
|
| + // "accelerated_2d_canvas"
|
| + // "accelerated_compositing"
|
| + // "webgl"
|
| + // "any"
|
| + static GpuFeatureType StringToGpuFeatureType(
|
| + const std::string& feature_string);
|
| +
|
| + private:
|
| + static const char kGpuFeatureNameAccelerated2dCanvas[];
|
| + static const char kGpuFeatureNameAcceleratedCompositing[];
|
| + static const char kGpuFeatureNameWebgl[];
|
| + static const char kGpuFeatureNameAny[];
|
| +
|
| + bool is_accelerated_2d_canvas_blacklisted_;
|
| + bool is_accelerated_compositing_blacklisted_;
|
| + bool is_webgl_blacklisted_;
|
| +};
|
| +
|
| +#endif // CHROME_COMMON_GPU_FEATURE_FLAGS_H__
|
|
|