Commit 30e02557 authored by Miguel Casas-Sanchez's avatar Miguel Casas-Sanchez Committed by Commit Bot

Image Capture: add a feature flag to ease debugging on the field

This CL adds a feature flag for image capture to ease debugging of
issues in the wild (e.g. https://crbug.com/722038 and
https://crbug.com/709819).  The flag is enabled by default:
  chrome://flags/#enable-image-capture-api

Bug: 735661
Change-Id: Iab06dbc9e6d4a5ecbbf85f70ad7221770915b464
Reviewed-on: https://chromium-review.googlesource.com/544185Reviewed-by: default avatarAlexei Svitkine <asvitkine@chromium.org>
Reviewed-by: default avatarChristian Fremerey <chfremer@chromium.org>
Reviewed-by: default avatarJochen Eisinger <jochen@chromium.org>
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481924}
parent d7b11f6f
......@@ -2210,6 +2210,9 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-webusb", flag_descriptions::kEnableWebUsbName,
flag_descriptions::kEnableWebUsbDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebUsb)},
{"enable-image-capture-api", flag_descriptions::kEnableImageCaptureAPIName,
flag_descriptions::kEnableImageCaptureAPIDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kImageCaptureAPI)},
#if defined(OS_ANDROID)
{"force-show-update-menu-item", flag_descriptions::kUpdateMenuItemName,
flag_descriptions::kUpdateMenuItemDescription, kOsAndroid,
......
......@@ -2520,6 +2520,12 @@ const char kEnableWebUsbName[] = "WebUSB";
const char kEnableWebUsbDescription[] = "Enable WebUSB support.";
const char kEnableImageCaptureAPIName[] = "Image Capture API";
const char kEnableImageCaptureAPIDescription[] =
"Enables the Web Platform Image Capture API: takePhoto(), "
"getPhotoCapabilities(), etc.";
const char kEnableGenericSensorName[] = "Generic Sensor";
const char kEnableGenericSensorDescription[] =
......
......@@ -266,6 +266,9 @@ extern const char kEnableWasmDescription[];
extern const char kEnableWebUsbName[];
extern const char kEnableWebUsbDescription[];
extern const char kEnableImageCaptureAPIName[];
extern const char kEnableImageCaptureAPIDescription[];
extern const char kEnableZeroSuggestRedirectToChromeName[];
extern const char kEnableZeroSuggestRedirectToChromeDescription[];
......
......@@ -182,7 +182,7 @@ const char kDisableBackgroundNetworking[] = "disable-background-networking";
// Disables the bundled PPAPI version of Flash.
const char kDisableBundledPpapiFlash[] = "disable-bundled-ppapi-flash";
// Disable hardware encoding support for Cast Streaming.
// Disables hardware encoding support for Cast Streaming.
const char kDisableCastStreamingHWEncoding[] =
"disable-cast-streaming-hw-encoding";
......
......@@ -13,6 +13,7 @@
#include "content/browser/renderer_host/media/video_capture_manager.h"
#include "content/common/media/media_stream_options.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/common/content_features.h"
#include "media/base/bind_to_current_loop.h"
#include "media/capture/video/video_capture_device.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
......@@ -130,6 +131,9 @@ ImageCaptureImpl::~ImageCaptureImpl() {}
void ImageCaptureImpl::Create(
const service_manager::BindSourceInfo& source_info,
media::mojom::ImageCaptureRequest request) {
if (!base::FeatureList::IsEnabled(features::kImageCaptureAPI))
return;
mojo::MakeStrongBinding(base::MakeUnique<ImageCaptureImpl>(),
std::move(request));
}
......
......@@ -346,6 +346,10 @@ const base::Feature kWebRtcUseEchoCanceller3{"WebRtcUseEchoCanceller3",
// https://wicg.github.io/webusb
const base::Feature kWebUsb{"WebUSB", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables/disables the Image Capture API.
const base::Feature kImageCaptureAPI{"ImageCaptureAPI",
base::FEATURE_ENABLED_BY_DEFAULT};
// Enables WebVR experimental rendering optimizations.
const base::Feature kWebVRExperimentalRendering{
"WebVRExperimentalRendering", base::FEATURE_DISABLED_BY_DEFAULT};
......
......@@ -86,6 +86,7 @@ CONTENT_EXPORT extern const base::Feature kWebRtcHWVP8Encoding;
CONTENT_EXPORT extern const base::Feature kWebRtcUseEchoCanceller3;
CONTENT_EXPORT extern const base::Feature kWebRtcUseGpuMemoryBufferVideoFrames;
CONTENT_EXPORT extern const base::Feature kWebUsb;
CONTENT_EXPORT extern const base::Feature kImageCaptureAPI;
CONTENT_EXPORT extern const base::Feature kWebVRExperimentalRendering;
CONTENT_EXPORT
extern const base::Feature kSendBeaconThrowForBlobWithNonSimpleType;
......
......@@ -22496,6 +22496,7 @@ from previous Chrome versions.
<int value="-378180863" label="disable-panels"/>
<int value="-378033324" label="disable-win32k-renderer-lockdown"/>
<int value="-374657496" label="OmniboxEnableClipboardProvider:enabled"/>
<int value="-365920680" label="ImageCaptureAPI:disabled"/>
<int value="-364325011" label="enable-files-quick-view"/>
<int value="-364267715" label="disable-native-cups"/>
<int value="-362022976" label="disable-quirks-client"/>
......@@ -22861,6 +22862,7 @@ from previous Chrome versions.
<int value="982032277" label="NTPOfflineBadge:disabled"/>
<int value="982511393" label="NTPArticleSuggestions:disabled"/>
<int value="983311394" label="tab-management-experiment-type"/>
<int value="988981463" label="ImageCaptureAPI:enabled"/>
<int value="1000706989" label="AutomaticTabDiscarding:disabled"/>
<int value="1002585107" label="emphasize-titles-in-omnibox-dropdown"/>
<int value="1003002105" label="MaterialDesignBookmarks:disabled"/>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment