1d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// found in the LICENSE file. 4d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 5d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#ifndef MediaListDirective_h 6d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#define MediaListDirective_h 7d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 8d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#include "core/frame/csp/CSPDirective.h" 9d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#include "platform/network/ContentSecurityPolicyParsers.h" 10d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#include "wtf/HashSet.h" 11d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#include "wtf/text/WTFString.h" 12d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 13c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 14d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 15d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)class ContentSecurityPolicy; 16d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 17d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)class MediaListDirective FINAL : public CSPDirective { 18d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) WTF_MAKE_NONCOPYABLE(MediaListDirective); 19d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)public: 20d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) MediaListDirective(const String& name, const String& value, ContentSecurityPolicy*); 21d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) bool allows(const String& type); 22d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 23d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)private: 24d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) void parse(const UChar* begin, const UChar* end); 25d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 26d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) HashSet<String> m_pluginTypes; 27d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)}; 28d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 29c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink 30d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 31d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#endif 32