| Index: content/renderer/media/media_stream_constraints_util_sets.h
|
| diff --git a/content/renderer/media/media_stream_constraints_util_sets.h b/content/renderer/media/media_stream_constraints_util_sets.h
|
| index 0cc6ab97e664176825d30117d569230a326ff635..053db68e74200d4b7900225ef0b4e3fe8f82fb34 100644
|
| --- a/content/renderer/media/media_stream_constraints_util_sets.h
|
| +++ b/content/renderer/media/media_stream_constraints_util_sets.h
|
| @@ -7,6 +7,7 @@
|
|
|
| #include <algorithm>
|
| #include <limits>
|
| +#include <string>
|
| #include <utility>
|
| #include <vector>
|
|
|
| @@ -71,9 +72,12 @@ class NumericRangeSet {
|
| // is application defined (e.g., it could be all possible boolean values, all
|
| // possible strings of length N, or anything that suits a particular
|
| // application).
|
| +// TODO(guidou): Rename this class. http://crbug.com/731166
|
| template <typename T>
|
| class DiscreteSet {
|
| public:
|
| + // Creates a universal set.
|
| + DiscreteSet() : is_universal_(true) {}
|
| // Creates a set containing the elements in |elements|.
|
| // It is the responsibility of the caller to ensure that |elements| is not
|
| // equivalent to the universal set and that |elements| has no repeated
|
| @@ -127,16 +131,25 @@ class DiscreteSet {
|
| return elements_[0];
|
| }
|
|
|
| + // Returns a reference to the list of elements in the set.
|
| + // Behavior is undefined if the set is universal.
|
| + const std::vector<T>& elements() const {
|
| + DCHECK(!is_universal_);
|
| + return elements_;
|
| + }
|
| +
|
| bool is_universal() const { return is_universal_; }
|
|
|
| private:
|
| - // Creates a universal set.
|
| - DiscreteSet() : is_universal_(true) {}
|
| -
|
| bool is_universal_;
|
| std::vector<T> elements_;
|
| };
|
|
|
| +DiscreteSet<std::string> StringSetFromConstraint(
|
| + const blink::StringConstraint& constraint);
|
| +DiscreteSet<bool> BoolSetFromConstraint(
|
| + const blink::BooleanConstraint& constraint);
|
| +
|
| // This class represents a set of (height, width) screen resolution candidates
|
| // determined by width, height and aspect-ratio constraints.
|
| // This class supports widths and heights from 0 to kMaxDimension, both
|
|
|