New issue
Advanced search Search tips

Issue 747199 link

Starred by 6 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android , Mac
Pri: 3
Type: Feature

Blocking:
issue 659138



Sign in to add a comment

Extend BarcodeDetector API to enumerate/select/readback the barcode format(s)

Project Member Reported by mcasas@chromium.org, Jul 21 2017

Issue description

Namely add to the idl files:
- the constructor parameter (optional FaceDetectorOptions faceDetectorOptions)
- the readonly attribute FrozenArray<BarcodeFormat> supportedFormats;
- and the enum BarcodeFormat

which were introduced in commit [1], and wire (via the mojo
files in [2]) to the current two implementations in 
//services/shape_detection.


[1] https://github.com/WICG/shape-detection-api/commit/f22ccedf75480a4c510e1ec750deac8f2e4a6360
[2] https://cs.chromium.org/chromium/src/services/shape_detection/public/interfaces/

 

Comment 1 by mcasas@chromium.org, Jul 21 2017

Also add
  [SameObject] readonly attribute BarcodeFormat format;

to DetectedBarcode.

https://github.com/WICG/shape-detection-api/commit/55f6e1ebdf10863d13459d8d76f7b963d3a91284

Comment 2 by mcasas@chromium.org, Jul 21 2017

Blocking: 659138
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bb470a5855c77471effbaae6cfb41c1253b60191

commit bb470a5855c77471effbaae6cfb41c1253b60191
Author: Miguel Casas-Sanchez <mcasas@chromium.org>
Date: Fri Jul 28 02:13:21 2017

Barcode detection: split mojo interface into BarcodeDetection and Provider

This CL splits the current shape_detection::mojom::BarcodeDetection
into a BarcodeDetection proper and a BarcodeDetectionProvider (following
a pattern similar to shape_detection::mojom::FaceDetection and
FaceDetectionProvider). This division is reflected in the Mac and Android
implementations.

The splitting is needed to add enumeration of the supported formats 
(pre construction) and constructor options.  Wiring those in idl will
happen in a subsequent CL, to limit the review cycles.

This CL also adds the necessary data types enum BarcodeFormat and 
struct BarcodeDetectorOptions, which mimic the ones introduced
in the WICG spec update that originated the issue tracker.

Layouttests (and the mock js service) and unittests updated.


Bug: 747199
Change-Id: Ib2ffa361465c50999f9c74537d9d7988fa30cd05
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/582266
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490210}
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/BUILD.gn
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/android/java/src/org/chromium/shape_detection/BarcodeDetectionImpl.java
[add] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/android/java/src/org/chromium/shape_detection/BarcodeDetectionProviderImpl.java
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/android/javatests/src/org/chromium/shape_detection/BarcodeDetectionImplTest.java
[delete] https://crrev.com/ba3c45bb4677ccbe59442a01f0e965787669d2d7/services/shape_detection/barcode_detection_impl.cc
[delete] https://crrev.com/ba3c45bb4677ccbe59442a01f0e965787669d2d7/services/shape_detection/barcode_detection_impl.h
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/barcode_detection_impl_mac.mm
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/barcode_detection_impl_mac_unittest.mm
[add] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/barcode_detection_provider_impl.cc
[add] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/barcode_detection_provider_impl.h
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/detection_utils_mac.h
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/detection_utils_mac.mm
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/manifest.json
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/public/interfaces/BUILD.gn
[add] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/public/interfaces/barcodedetection_provider.mojom
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/services/shape_detection/shape_detection_service.cc
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/LayoutTests/shapedetection/detection-HTMLCanvasElement.html
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/LayoutTests/shapedetection/detection-HTMLImageElement.html
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/LayoutTests/shapedetection/detection-HTMLVideoElement.html
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/LayoutTests/shapedetection/detection-ImageBitmap.html
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/LayoutTests/shapedetection/detection-ImageData.html
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/LayoutTests/shapedetection/detection-options.html
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/LayoutTests/shapedetection/detection-security-test.html
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/LayoutTests/shapedetection/detector-same-object.html
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/LayoutTests/shapedetection/resources/mock-barcodedetection.js
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/LayoutTests/shapedetection/resources/worker.js
[modify] https://crrev.com/bb470a5855c77471effbaae6cfb41c1253b60191/third_party/WebKit/Source/modules/shapedetection/BarcodeDetector.cpp

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0adc7cd14864359055909e55464ee563d27af6cb

commit 0adc7cd14864359055909e55464ee563d27af6cb
Author: Miguel Casas <mcasas@chromium.org>
Date: Fri Jul 28 02:54:02 2017

Revert "Barcode detection: split mojo interface into BarcodeDetection and Provider"

https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.chromiumos%2FLinux_ChromiumOS_Builder__dbg_%2F90023%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout

Failing bots due to 
FAILED: obj/services/shape_detection/lib/barcode_detection_provider_impl.o 
/b/c/goma_client/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/services/shape_detection/lib/barcode_detection_provider_impl.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_ASH=1 -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=\"308728-3\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCOMPONENT_BUILD -DOS_CHROMEOS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_GLIBCXX_DEBUG=1 -DGL_GLEXT_PROTOTYPES -DUSE_GLX -DUSE_EGL -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DPROTOBUF_USE_DLLS -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_SUPPORT_GPU=1 -DMESA_EGL_NO_X11_HEADERS -I../.. -Igen -I../../third_party/libwebp/src -I../../third_party/khronos -I../../gpu -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/protobuf/src -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/encode -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/third_party/vulkan -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I../../third_party/mesa/src/include -I../../third_party/libwebm/source -fno-strict-aliasing -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -pthread -fcolor-diagnostics -fdebug-prefix-map=/b/c/b/linux_chromeos/src=. -m64 -march=x86-64 -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -O0 -fno-omit-frame-pointer -g2 -gsplit-dwarf --sysroot=../../build/linux/debian_jessie_amd64-sysroot -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-auto-raw-pointer -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=gnu++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -c ../../services/shape_detection/barcode_detection_provider_impl.cc -o obj/services/shape_detection/lib/barcode_detection_provider_impl.o
../../services/shape_detection/barcode_detection_provider_impl.cc:18:27: error: chosen constructor is explicit in copy-initialization
  std::move(callback).Run({});
                          ^~
../../build/linux/debian_jessie_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/debug/vector:79:7: note: explicit constructor declared here
      vector(const _Allocator& __a = _Allocator())
      ^
../../base/callback.h:83:17: note: passing argument to parameter 'args' here
  R Run(Args... args) && {
                ^
1 error generated.


Revert "Barcode detection: split mojo interface into BarcodeDetection and Provider"

This reverts commit bb470a5855c77471effbaae6cfb41c1253b60191.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Barcode detection: split mojo interface into BarcodeDetection and Provider
> 
> This CL splits the current shape_detection::mojom::BarcodeDetection
> into a BarcodeDetection proper and a BarcodeDetectionProvider (following
> a pattern similar to shape_detection::mojom::FaceDetection and
> FaceDetectionProvider). This division is reflected in the Mac and Android
> implementations.
> 
> The splitting is needed to add enumeration of the supported formats 
> (pre construction) and constructor options.  Wiring those in idl will
> happen in a subsequent CL, to limit the review cycles.
> 
> This CL also adds the necessary data types enum BarcodeFormat and 
> struct BarcodeDetectorOptions, which mimic the ones introduced
> in the WICG spec update that originated the issue tracker.
> 
> Layouttests (and the mock js service) and unittests updated.
> 
> 
> Bug: 747199
> Change-Id: Ib2ffa361465c50999f9c74537d9d7988fa30cd05
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel
> Reviewed-on: https://chromium-review.googlesource.com/582266
> Reviewed-by: Reilly Grant <reillyg@chromium.org>
> Reviewed-by: Avi Drissman <avi@chromium.org>
> Reviewed-by: Tom Sepez <tsepez@chromium.org>
> Commit-Queue: Miguel Casas <mcasas@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#490210}

TBR=avi@chromium.org,reillyg@chromium.org,mcasas@chromium.org,tsepez@chromium.org

Change-Id: Iaf6714f6f90845dfc06b0174c2e98eff62210b2e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 747199
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/590593
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Reviewed-by: Miguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490225}
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/BUILD.gn
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/android/java/src/org/chromium/shape_detection/BarcodeDetectionImpl.java
[delete] https://crrev.com/66538437a3ea88aebca9413fee12746e6558d063/services/shape_detection/android/java/src/org/chromium/shape_detection/BarcodeDetectionProviderImpl.java
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/android/javatests/src/org/chromium/shape_detection/BarcodeDetectionImplTest.java
[add] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/barcode_detection_impl.cc
[add] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/barcode_detection_impl.h
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/barcode_detection_impl_mac.mm
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/barcode_detection_impl_mac_unittest.mm
[delete] https://crrev.com/66538437a3ea88aebca9413fee12746e6558d063/services/shape_detection/barcode_detection_provider_impl.cc
[delete] https://crrev.com/66538437a3ea88aebca9413fee12746e6558d063/services/shape_detection/barcode_detection_provider_impl.h
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/detection_utils_mac.h
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/detection_utils_mac.mm
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/manifest.json
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/public/interfaces/BUILD.gn
[delete] https://crrev.com/66538437a3ea88aebca9413fee12746e6558d063/services/shape_detection/public/interfaces/barcodedetection_provider.mojom
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/services/shape_detection/shape_detection_service.cc
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/LayoutTests/shapedetection/detection-HTMLCanvasElement.html
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/LayoutTests/shapedetection/detection-HTMLImageElement.html
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/LayoutTests/shapedetection/detection-HTMLVideoElement.html
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/LayoutTests/shapedetection/detection-ImageBitmap.html
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/LayoutTests/shapedetection/detection-ImageData.html
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/LayoutTests/shapedetection/detection-options.html
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/LayoutTests/shapedetection/detection-security-test.html
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/LayoutTests/shapedetection/detector-same-object.html
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/LayoutTests/shapedetection/resources/mock-barcodedetection.js
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/LayoutTests/shapedetection/resources/worker.js
[modify] https://crrev.com/0adc7cd14864359055909e55464ee563d27af6cb/third_party/WebKit/Source/modules/shapedetection/BarcodeDetector.cpp

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d2dfc3e1b06bfddad2756399795f97fedb4ca0d3

commit d2dfc3e1b06bfddad2756399795f97fedb4ca0d3
Author: meade_UTC10 <meade@chromium.org>
Date: Fri Jul 28 02:59:21 2017

Revert "Barcode detection: split mojo interface into BarcodeDetection and Provider"

This reverts commit bb470a5855c77471effbaae6cfb41c1253b60191.

Reason for revert: Caused compile failure (see
https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Builder%20%28dbg%29/builds/90023)

Original change's description:
> Barcode detection: split mojo interface into BarcodeDetection and Provider
> 
> This CL splits the current shape_detection::mojom::BarcodeDetection
> into a BarcodeDetection proper and a BarcodeDetectionProvider (following
> a pattern similar to shape_detection::mojom::FaceDetection and
> FaceDetectionProvider). This division is reflected in the Mac and Android
> implementations.
> 
> The splitting is needed to add enumeration of the supported formats 
> (pre construction) and constructor options.  Wiring those in idl will
> happen in a subsequent CL, to limit the review cycles.
> 
> This CL also adds the necessary data types enum BarcodeFormat and 
> struct BarcodeDetectorOptions, which mimic the ones introduced
> in the WICG spec update that originated the issue tracker.
> 
> Layouttests (and the mock js service) and unittests updated.
> 
> 
> Bug: 747199
> Change-Id: Ib2ffa361465c50999f9c74537d9d7988fa30cd05
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel
> Reviewed-on: https://chromium-review.googlesource.com/582266
> Reviewed-by: Reilly Grant <reillyg@chromium.org>
> Reviewed-by: Avi Drissman <avi@chromium.org>
> Reviewed-by: Tom Sepez <tsepez@chromium.org>
> Commit-Queue: Miguel Casas <mcasas@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#490210}

TBR=avi@chromium.org,reillyg@chromium.org,mcasas@chromium.org,tsepez@chromium.org

Change-Id: Ia9654aa07034fc2f03d2b84fc176ba36700c1b99
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 747199
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/590869
Reviewed-by: meade_UTC10 <meade@chromium.org>
Commit-Queue: meade_UTC10 <meade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490226}

Project Member

Comment 6 by bugdroid1@chromium.org, Jun 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3605ba10106f78ea43239cefb669d0f7f6ede597

commit 3605ba10106f78ea43239cefb669d0f7f6ede597
Author: junweifu <junwei.fu@intel.com>
Date: Mon Jun 04 08:21:05 2018

Reland "Barcode detection: split mojo interface into BarcodeDetection and Provider"

Original Miguel's CL got reverted because build configuration uses libstdc++4.8,
the issue in this thread[1] has been resolved with CL-591775 [2].

Rebase the commit to the latest source code.

[1] https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/ukH8PqeE6Qg
[2] https://chromium-review.googlesource.com/c/chromium/src/+/591775

This is a reland of bb470a5855c77471effbaae6cfb41c1253b60191

Original change's description:
> Barcode detection: split mojo interface into BarcodeDetection and Provider
>
> This CL splits the current shape_detection::mojom::BarcodeDetection
> into a BarcodeDetection proper and a BarcodeDetectionProvider (following
> a pattern similar to shape_detection::mojom::FaceDetection and
> FaceDetectionProvider). This division is reflected in the Mac and Android
> implementations.
>
> The splitting is needed to add enumeration of the supported formats
> (pre construction) and constructor options.  Wiring those in idl will
> happen in a subsequent CL, to limit the review cycles.
>
> This CL also adds the necessary data types enum BarcodeFormat and
> struct BarcodeDetectorOptions, which mimic the ones introduced
> in the WICG spec update that originated the issue tracker.
>
> Layouttests (and the mock js service) and unittests updated.
>
>
> Bug: 747199
> Change-Id: Ib2ffa361465c50999f9c74537d9d7988fa30cd05
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel
> Reviewed-on: https://chromium-review.googlesource.com/582266
> Reviewed-by: Reilly Grant <reillyg@chromium.org>
> Reviewed-by: Avi Drissman <avi@chromium.org>
> Reviewed-by: Tom Sepez <tsepez@chromium.org>
> Commit-Queue: Miguel Casas <mcasas@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#490210}

Bug: 747199
Change-Id: Id657a61694e9d5dc8ce5ce615ef26484514d7de0
Cq-Include-Trybots: luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win10_chromium_x64_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1075823
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Miguel Casas <mcasas@chromium.org>
Commit-Queue: Junwei Fu <junwei.fu@intel.com>
Cr-Commit-Position: refs/heads/master@{#564017}
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/content/browser/renderer_interface_binders.cc
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/BUILD.gn
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/android/java/src/org/chromium/shape_detection/BarcodeDetectionImpl.java
[add] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/android/java/src/org/chromium/shape_detection/BarcodeDetectionProviderImpl.java
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/android/javatests/src/org/chromium/shape_detection/BarcodeDetectionImplTest.java
[delete] https://crrev.com/181414e9ee54362ab29a0f8b66460b87ab2b4f54/services/shape_detection/barcode_detection_impl.cc
[delete] https://crrev.com/181414e9ee54362ab29a0f8b66460b87ab2b4f54/services/shape_detection/barcode_detection_impl.h
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/barcode_detection_impl_mac.mm
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/barcode_detection_impl_mac_unittest.mm
[add] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/barcode_detection_provider_impl.cc
[add] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/barcode_detection_provider_impl.h
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/manifest.json
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/public/mojom/BUILD.gn
[add] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/public/mojom/barcodedetection_provider.mojom
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/services/shape_detection/shape_detection_service.cc
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/WebKit/LayoutTests/shapedetection/detection-HTMLCanvasElement.html
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/WebKit/LayoutTests/shapedetection/detection-HTMLImageElement.html
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/WebKit/LayoutTests/shapedetection/detection-HTMLVideoElement.html
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/WebKit/LayoutTests/shapedetection/detection-ImageBitmap.html
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/WebKit/LayoutTests/shapedetection/detection-ImageData.html
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/WebKit/LayoutTests/shapedetection/detection-options.html
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/WebKit/LayoutTests/shapedetection/detection-security-test.html
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/WebKit/LayoutTests/shapedetection/detector-same-object.html
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/WebKit/LayoutTests/shapedetection/resources/mock-barcodedetection.js
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/WebKit/LayoutTests/shapedetection/resources/worker.js
[modify] https://crrev.com/3605ba10106f78ea43239cefb669d0f7f6ede597/third_party/blink/renderer/modules/shapedetection/barcode_detector.cc

Comment 7 by codei...@gmail.com, Jun 14 2018

If no one is working on this, can I take this issue? 
I'm interested in this feature.

Sign in to add a comment