Commit 9d059b2f authored by Alex Catarineu's avatar Alex Catarineu Committed by Matthew Finkel
Browse files

Bug 467035 - Add new internal DTD content types r=ckerschb

Differential Revision: https://phabricator.services.mozilla.com/D35232

--HG--
extra : moz-landing-system : lando
parent 779d29ee
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -137,6 +137,8 @@ inline const char* NS_CP_ContentTypeName(uint32_t contentType) {
    CASE_RETURN(TYPE_SPECULATIVE);
    CASE_RETURN(TYPE_INTERNAL_MODULE);
    CASE_RETURN(TYPE_INTERNAL_MODULE_PRELOAD);
    CASE_RETURN(TYPE_INTERNAL_DTD);
    CASE_RETURN(TYPE_INTERNAL_FORCE_ALLOWED_DTD);
    default:
      return "<Unknown Type>";
  }
+4 −0
Original line number Diff line number Diff line
@@ -3466,6 +3466,10 @@ nsContentUtils::InternalContentPolicyTypeToExternal(nsContentPolicyType aType) {
    case nsIContentPolicy::TYPE_INTERNAL_STYLESHEET_PRELOAD:
      return nsIContentPolicy::TYPE_STYLESHEET;

    case nsIContentPolicy::TYPE_INTERNAL_DTD:
    case nsIContentPolicy::TYPE_INTERNAL_FORCE_ALLOWED_DTD:
      return nsIContentPolicy::TYPE_DTD;

    default:
      return aType;
  }
+12 −0
Original line number Diff line number Diff line
@@ -364,6 +364,18 @@ interface nsIContentPolicy : nsISupports
   */
  const nsContentPolicyType TYPE_INTERNAL_MODULE_PRELOAD = 46;

  /**
   * Indicates a DTD loaded by an XML document the URI of which could
   * not be mapped to a known local DTD.
   */
  const nsContentPolicyType TYPE_INTERNAL_DTD = 47;

  /**
   * Indicates a TYPE_INTERNAL_DTD which will not be blocked no matter
   * what principal is being loaded from.
   */
  const nsContentPolicyType TYPE_INTERNAL_FORCE_ALLOWED_DTD = 48;

  /* When adding new content types, please update nsContentBlocker,
   * NS_CP_ContentTypeName, nsCSPContext, CSP_ContentTypeToDirective,
   * DoContentSecurityChecks, all nsIContentPolicy implementations, the
+3 −1
Original line number Diff line number Diff line
@@ -333,7 +333,9 @@ static_assert(nsIContentPolicy::TYPE_INVALID == 0 &&
                  nsIContentPolicy::TYPE_SAVEAS_DOWNLOAD == 43 &&
                  nsIContentPolicy::TYPE_SPECULATIVE == 44 &&
                  nsIContentPolicy::TYPE_INTERNAL_MODULE == 45 &&
                  nsIContentPolicy::TYPE_INTERNAL_MODULE_PRELOAD == 46,
                  nsIContentPolicy::TYPE_INTERNAL_MODULE_PRELOAD == 46 &&
                  nsIContentPolicy::TYPE_INTERNAL_DTD == 47 &&
                  nsIContentPolicy::TYPE_INTERNAL_FORCE_ALLOWED_DTD == 48,
              "nsContentPolicyType values are as expected");

namespace {
+2 −0
Original line number Diff line number Diff line
@@ -254,6 +254,8 @@ RequestDestination InternalRequest::MapContentPolicyTypeToRequestDestination(
      destination = RequestDestination::_empty;
      break;
    case nsIContentPolicy::TYPE_DTD:
    case nsIContentPolicy::TYPE_INTERNAL_DTD:
    case nsIContentPolicy::TYPE_INTERNAL_FORCE_ALLOWED_DTD:
      destination = RequestDestination::_empty;
      break;
    case nsIContentPolicy::TYPE_FONT:
Loading