17242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved. 27242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci// Use of this source code is governed by a BSD-style license that can be 37242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci// found in the LICENSE file. 47242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 57242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#ifndef SubresourceIntegrity_h 67242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#define SubresourceIntegrity_h 77242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 87242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#include "platform/Crypto.h" 97242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 107242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccinamespace WTF { 117242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass String; 127242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci}; 137242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 147242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccinamespace blink { 157242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 167242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass Element; 177242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass KURL; 187242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 197242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciclass SubresourceIntegrity { 207242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tuccipublic: 217242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci static bool CheckSubresourceIntegrity(const Element&, const WTF::String&, const KURL& resourceUrl); 227242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 237242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucciprivate: 247242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci // FIXME: After the merge with the Chromium repo, this should be refactored 257242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci // to use FRIEND_TEST in base/gtest_prod_util.h. 267242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci friend class SubresourceIntegrityTest_Parsing_Test; 277242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 287242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci static bool parseIntegrityAttribute(const WTF::String& attribute, WTF::String& integrity, HashAlgorithm&); 297242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci}; 307242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 317242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci} // namespace blink 327242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci 337242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci#endif 34