OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef GPU_CONFIG_GPU_CONTROL_LIST_H_ | 5 #ifndef GPU_CONFIG_GPU_CONTROL_LIST_H_ |
6 #define GPU_CONFIG_GPU_CONTROL_LIST_H_ | 6 #define GPU_CONFIG_GPU_CONTROL_LIST_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 | 237 |
238 private: | 238 private: |
239 bool value_; | 239 bool value_; |
240 }; | 240 }; |
241 | 241 |
242 class GpuControlListEntry; | 242 class GpuControlListEntry; |
243 typedef scoped_refptr<GpuControlListEntry> ScopedGpuControlListEntry; | 243 typedef scoped_refptr<GpuControlListEntry> ScopedGpuControlListEntry; |
244 | 244 |
245 typedef base::hash_map<std::string, int> FeatureMap; | 245 typedef base::hash_map<std::string, int> FeatureMap; |
246 | 246 |
| 247 // TODO(mgiuca): Avoid using UnsafeRefCounted. http://crbug.com/469952. |
247 class GPU_EXPORT GpuControlListEntry | 248 class GPU_EXPORT GpuControlListEntry |
248 : public base::RefCounted<GpuControlListEntry> { | 249 : public base::UnsafeRefCounted<GpuControlListEntry> { |
249 public: | 250 public: |
250 // Constructs GpuControlListEntry from DictionaryValue loaded from json. | 251 // Constructs GpuControlListEntry from DictionaryValue loaded from json. |
251 // Top-level entry must have an id number. Others are exceptions. | 252 // Top-level entry must have an id number. Others are exceptions. |
252 static ScopedGpuControlListEntry GetEntryFromValue( | 253 static ScopedGpuControlListEntry GetEntryFromValue( |
253 const base::DictionaryValue* value, bool top_level, | 254 const base::DictionaryValue* value, bool top_level, |
254 const FeatureMap& feature_map, | 255 const FeatureMap& feature_map, |
255 bool supports_feature_type_all); | 256 bool supports_feature_type_all); |
256 | 257 |
257 // Logs a control list match for this rule in the list identified by | 258 // Logs a control list match for this rule in the list identified by |
258 // |control_list_logging_name|. | 259 // |control_list_logging_name|. |
(...skipping 27 matching lines...) Expand all Loading... |
286 | 287 |
287 // Returns the blacklisted features in this entry. | 288 // Returns the blacklisted features in this entry. |
288 const std::set<int>& features() const; | 289 const std::set<int>& features() const; |
289 | 290 |
290 // Returns a list of blacklisted feature names in this entry. | 291 // Returns a list of blacklisted feature names in this entry. |
291 void GetFeatureNames(base::ListValue* feature_names, | 292 void GetFeatureNames(base::ListValue* feature_names, |
292 const FeatureMap& feature_map, | 293 const FeatureMap& feature_map, |
293 bool supports_feature_type_all) const; | 294 bool supports_feature_type_all) const; |
294 | 295 |
295 private: | 296 private: |
296 friend class base::RefCounted<GpuControlListEntry>; | 297 friend class base::UnsafeRefCounted<GpuControlListEntry>; |
297 | 298 |
298 enum MultiGpuStyle { | 299 enum MultiGpuStyle { |
299 kMultiGpuStyleOptimus, | 300 kMultiGpuStyleOptimus, |
300 kMultiGpuStyleAMDSwitchable, | 301 kMultiGpuStyleAMDSwitchable, |
301 kMultiGpuStyleAMDSwitchableIntegrated, | 302 kMultiGpuStyleAMDSwitchableIntegrated, |
302 kMultiGpuStyleAMDSwitchableDiscrete, | 303 kMultiGpuStyleAMDSwitchableDiscrete, |
303 kMultiGpuStyleNone | 304 kMultiGpuStyleNone |
304 }; | 305 }; |
305 | 306 |
306 enum MultiGpuCategory { | 307 enum MultiGpuCategory { |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 bool supports_feature_type_all_; | 480 bool supports_feature_type_all_; |
480 | 481 |
481 bool control_list_logging_enabled_; | 482 bool control_list_logging_enabled_; |
482 std::string control_list_logging_name_; | 483 std::string control_list_logging_name_; |
483 }; | 484 }; |
484 | 485 |
485 } // namespace gpu | 486 } // namespace gpu |
486 | 487 |
487 #endif // GPU_CONFIG_GPU_CONTROL_LIST_H_ | 488 #endif // GPU_CONFIG_GPU_CONTROL_LIST_H_ |
488 | 489 |
OLD | NEW |