text: // Copyright 2014 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 CSPDirective_h
  #define CSPDirective_h
  
  #include "platform/heap/Handle.h"
  #include "wtf/text/WTFString.h"
  
  namespace blink {
  
  class ContentSecurityPolicy;
  
  class CSPDirective : public GarbageCollectedFinalized<CSPDirective> {
    WTF_MAKE_NONCOPYABLE(CSPDirective);
  
   public:
    CSPDirective(const String& name,
                 const String& value,
                 ContentSecurityPolicy* policy)
        : m_name(name), m_text(name + ' ' + value), m_policy(policy) {}
    virtual ~CSPDirective() {}
    DEFINE_INLINE_VIRTUAL_TRACE() { visitor->trace(m_policy); }
  
    const String& text() const { return m_text; }
  
   protected:
    ContentSecurityPolicy* policy() const { return m_policy; }
  
   private:
    String m_name;
    String m_text;
    Member<ContentSecurityPolicy> m_policy;
  };
  
  }  // namespace blink
  
  #endif
  