1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// found in the LICENSE file. 4a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#ifndef CONTENT_RENDERER_MEDIA_MOCK_MEDIA_STREAM_CONSTRAINT_H_ 6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define CONTENT_RENDERER_MEDIA_MOCK_MEDIA_STREAM_CONSTRAINT_H_ 7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include <string> 9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include <vector> 10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "third_party/WebKit/public/platform/WebMediaConstraints.h" 12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace content { 14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class MockMediaConstraintFactory { 16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) public: 17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) MockMediaConstraintFactory(); 18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ~MockMediaConstraintFactory(); 19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) blink::WebMediaConstraints CreateWebMediaConstraints(); 21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) void AddMandatory(const std::string& key, int value); 22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) void AddMandatory(const std::string& key, double value); 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) void AddMandatory(const std::string& key, const std::string& value); 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) void AddMandatory(const std::string& key, bool value); 25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) void AddOptional(const std::string& key, int value); 26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) void AddOptional(const std::string& key, double value); 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) void AddOptional(const std::string& key, const std::string& value); 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) void AddOptional(const std::string& key, bool value); 29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) void DisableDefaultAudioConstraints(); 30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) private: 32a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) std::vector<blink::WebMediaConstraint> mandatory_; 33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) std::vector<blink::WebMediaConstraint> optional_; 34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)}; 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} // namespace content 37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#endif // CONTENT_RENDERER_MEDIA_MOCK_MEDIA_STREAM_CONSTRAINT_H_ 39