1 // Copyright 2017 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_DOCUMENT_METADATA_DOCUMENT_METADATA_EXTRACTOR_H_ 6 #define THIRD_PARTY_BLINK_RENDERER_MODULES_DOCUMENT_METADATA_DOCUMENT_METADATA_EXTRACTOR_H_ 7 8 #include "components/schema_org/common/metadata.mojom-blink-forward.h" 9 #include "third_party/blink/public/mojom/document_metadata/document_metadata.mojom-blink-forward.h" 10 #include "third_party/blink/renderer/modules/modules_export.h" 11 #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h" 12 13 namespace blink { 14 15 class Document; 16 17 // Extract structured metadata (currently schema.org in JSON-LD). The extraction 18 // must be done after the document has finished parsing. 19 class MODULES_EXPORT DocumentMetadataExtractor final { 20 STATIC_ONLY(DocumentMetadataExtractor); 21 22 public: 23 static mojom::blink::WebPagePtr Extract(const Document&); 24 }; 25 26 } // namespace blink 27 28 #endif // THIRD_PARTY_BLINK_RENDERER_MODULES_DOCUMENT_METADATA_DOCUMENT_METADATA_EXTRACTOR_H_ 29