#include "third_party/blink/renderer/modules/shapedetection/barcode_detector.h"
#include <utility>
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_throw_dom_exception.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_barcode_detector_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_detected_barcode.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_point_2d.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/geometry/dom_rect.h"
#include "third_party/blink/renderer/core/html/canvas/canvas_image_source.h"
#include "third_party/blink/renderer/core/workers/worker_thread.h"
#include "third_party/blink/renderer/modules/shapedetection/barcode_detector_statics.h"
#include "third_party/blink/renderer/platform/bindings/enumeration_base.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
namespace blink {
namespace {
shape_detection::mojom::blink::BarcodeFormat StringToBarcodeFormat(
const WebString& format_string) { … }
}
BarcodeDetector* BarcodeDetector::Create(ExecutionContext* context,
const BarcodeDetectorOptions* options,
ExceptionState& exception_state) { … }
BarcodeDetector::BarcodeDetector(ExecutionContext* context,
const BarcodeDetectorOptions* options,
ExceptionState& exception_state)
: … { … }
ScriptPromise<IDLSequence<V8BarcodeFormat>>
BarcodeDetector::getSupportedFormats(ScriptState* script_state) { … }
String BarcodeDetector::BarcodeFormatToString(
const shape_detection::mojom::BarcodeFormat format) { … }
ScriptPromise<IDLSequence<DetectedBarcode>> BarcodeDetector::detect(
ScriptState* script_state,
const V8ImageBitmapSource* image_source,
ExceptionState& exception_state) { … }
void BarcodeDetector::OnDetectBarcodes(
ScriptPromiseResolver<IDLSequence<DetectedBarcode>>* resolver,
Vector<shape_detection::mojom::blink::BarcodeDetectionResultPtr>
barcode_detection_results) { … }
void BarcodeDetector::OnConnectionError() { … }
void BarcodeDetector::Trace(Visitor* visitor) const { … }
}