Index: third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp |
diff --git a/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp b/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp |
index 6c3d28c0bdca950a58155c1dc2f00a1453193d71..6e410f71becb34b87c123e177b0fb38d5f147812 100644 |
--- a/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp |
+++ b/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp |
@@ -11,6 +11,9 @@ |
#include "core/html/HTMLElement.h" |
#include "platform/Histogram.h" |
#include "platform/instrumentation/tracing/TraceEvent.h" |
+#include "public/platform/InterfaceProvider.h" |
+#include "public/platform/Platform.h" |
+#include "public/platform/modules/document_metadata/copyless_paste.mojom-blink.h" |
#include "wtf/text/StringBuilder.h" |
namespace blink { |
@@ -35,9 +38,19 @@ String extractMetadata(Element& root) { |
return result.toString(); |
} |
+void sendToIcing(Document& document, String extraction) { |
+ mojom::blink::CopylessPastePtr servicePtr; |
+ Platform::current()->interfaceProvider()->getInterface( |
+ mojo::MakeRequest(&servicePtr)); |
+ DCHECK(servicePtr); |
+ if (!servicePtr.is_bound()) |
+ return; |
+ servicePtr->ReportEntityJsonLd(document.url().getString(), extraction); |
+} |
+ |
} // namespace |
-String CopylessPasteExtractor::extract(Document& document) { |
+String CopylessPasteExtractor::metadata(Document& document) { |
TRACE_EVENT0("blink", "CopylessPasteExtractor::extract"); |
if (!document.frame() || !document.frame()->isMainFrame()) |
@@ -59,7 +72,15 @@ String CopylessPasteExtractor::extract(Document& document) { |
DEFINE_STATIC_LOCAL(CustomCountHistogram, extractionHistogram, |
("CopylessPaste.ExtractionUs", 1, 1000000, 50)); |
extractionHistogram.count(static_cast<int>(1e6 * elapsedTime)); |
+ |
return result; |
} |
+void CopylessPasteExtractor::extract(Document& document) { |
+ String result = metadata(document); |
+ if (result != "[]") { |
+ sendToIcing(document, result); |
+ } |
+} |
+ |
} // namespace blink |