Commit 5e78158b authored by Francois Beaufort's avatar Francois Beaufort Committed by Commit Bot

[PTZ] Mark MediaCapturePanTilt feature as stable

Intent to ship: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/j-Q08QgBipM/F3a5sau1BwAJ

Bug: 934063
Change-Id: Ie5c20d07c25b939a4970e9423ed0c0442b0e2466
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2274598Reviewed-by: default avatarReilly Grant <reillyg@chromium.org>
Reviewed-by: default avatarRijubrata Bhaumik <rijubrata.bhaumik@intel.com>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Reviewed-by: default avatarEero Häkkinen <eero.hakkinen@intel.com>
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/master@{#812038}
parent bc72042c
......@@ -227,11 +227,6 @@ class WebRtcPanTiltZoomTrackBrowserTest
: public WebRtcTestBase,
public testing::WithParamInterface<TrackTestConfig> {
public:
void SetUpCommandLine(base::CommandLine* command_line) override {
command_line->AppendSwitch(
switches::kEnableExperimentalWebPlatformFeatures);
}
void SetUpInProcessBrowserTestFixture() override {
DetectErrorsInJavaScript();
}
......@@ -335,11 +330,6 @@ class WebRtcPanTiltZoomConstraintsBrowserTest
: public WebRtcTestBase,
public ::testing::WithParamInterface<std::string> {
public:
void SetUpCommandLine(base::CommandLine* command_line) override {
command_line->AppendSwitch(
switches::kEnableExperimentalWebPlatformFeatures);
}
const char* Constraint() { return GetParam().c_str(); }
void SetUpInProcessBrowserTestFixture() override {
......@@ -568,8 +558,6 @@ IN_PROC_BROWSER_TEST_F(WebRtcPanTiltZoomCameraDevicesBrowserTest,
class WebRtcPanTiltZoomFakeCameraDevicesBrowserTest : public WebRtcTestBase {
public:
void SetUpCommandLine(base::CommandLine* command_line) override {
command_line->AppendSwitch(
switches::kEnableExperimentalWebPlatformFeatures);
command_line->AppendSwitch(switches::kUseFakeDeviceForMediaStream);
}
......
......@@ -114,9 +114,8 @@ void ImageCaptureImpl::SetOptions(const std::string& source_id,
"ImageCaptureImpl::SetOptions",
TRACE_EVENT_SCOPE_PROCESS);
if (((settings->has_pan || settings->has_tilt) &&
!HasPanTiltZoomPermissionGranted()) ||
(settings->has_zoom && !HasZoomPermissionGranted())) {
if ((settings->has_pan || settings->has_tilt || settings->has_zoom) &&
!HasPanTiltZoomPermissionGranted()) {
std::move(callback).Run(false);
return;
}
......@@ -162,8 +161,6 @@ void ImageCaptureImpl::OnGetPhotoState(GetPhotoStateCallback callback,
if (!HasPanTiltZoomPermissionGranted()) {
state->pan = media::mojom::Range::New();
state->tilt = media::mojom::Range::New();
}
if (!HasZoomPermissionGranted()) {
state->zoom = media::mojom::Range::New();
}
std::move(callback).Run(std::move(state));
......@@ -177,12 +174,4 @@ bool ImageCaptureImpl::HasPanTiltZoomPermissionGranted() {
render_frame_host()->GetProcess()->GetID(),
render_frame_host()->GetRoutingID());
}
bool ImageCaptureImpl::HasZoomPermissionGranted() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
return MediaDevicesPermissionChecker::HasZoomPermissionGrantedOnUIThread(
render_frame_host()->GetProcess()->GetID(),
render_frame_host()->GetRoutingID());
}
} // namespace content
......@@ -38,7 +38,6 @@ class ImageCaptureImpl final
media::mojom::PhotoStatePtr);
bool HasPanTiltZoomPermissionGranted();
bool HasZoomPermissionGranted();
base::WeakPtrFactory<ImageCaptureImpl> weak_factory_{this};
......
......@@ -158,34 +158,6 @@ bool MediaDevicesPermissionChecker::HasPanTiltZoomPermissionGrantedOnUIThread(
// supported on Android.
return true;
#else
// TODO(crbug.com/934063): Remove when MediaCapturePanTilt Blink feature is
// enabled by default.
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableExperimentalWebPlatformFeatures)) {
return false;
}
return IsPanTiltZoomAllowedOnUIThread(render_process_id, render_frame_id);
#endif
}
// static
// TODO(crbug.com/934063): Remove when MediaCapturePanTilt Blink feature is
// enabled by default.
bool MediaDevicesPermissionChecker::HasZoomPermissionGrantedOnUIThread(
int render_process_id,
int render_frame_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
#if defined(OS_ANDROID)
return true;
#else
return IsPanTiltZoomAllowedOnUIThread(render_process_id, render_frame_id);
#endif
}
bool MediaDevicesPermissionChecker::IsPanTiltZoomAllowedOnUIThread(
int render_process_id,
int render_frame_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
RenderFrameHostImpl* frame_host =
RenderFrameHostImpl::FromID(render_process_id, render_frame_id);
......@@ -206,6 +178,6 @@ bool MediaDevicesPermissionChecker::IsPanTiltZoomAllowedOnUIThread(
PermissionType::CAMERA_PAN_TILT_ZOOM, frame_host, origin);
return status == blink::mojom::PermissionStatus::GRANTED;
#endif
}
} // namespace content
......@@ -62,22 +62,11 @@ class CONTENT_EXPORT MediaDevicesPermissionChecker {
// movement (pan, tilt, and zoom). Otherwise, returns false.
static bool HasPanTiltZoomPermissionGrantedOnUIThread(int render_process_id,
int render_frame_id);
// Returns true if the origin associated to a render frame identified by
// |render_process_id| and |render_frame_id| is allowed to control camera
// zoom. Otherwise, returns false.
static bool HasZoomPermissionGrantedOnUIThread(int render_process_id,
int render_frame_id);
private:
const bool use_override_;
const bool override_value_;
// Returns true if the origin associated to a render frame identified by
// |render_process_id| and |render_frame_id| is allowed to control camera
// movement (pan, tilt, and zoom). Otherwise, returns false.
static bool IsPanTiltZoomAllowedOnUIThread(int render_process_id,
int render_frame_id);
DISALLOW_COPY_AND_ASSIGN(MediaDevicesPermissionChecker);
};
......
......@@ -1106,7 +1106,7 @@
},
{
name: "MediaCapturePanTilt",
status: "experimental",
status: "stable",
},
// Set to reflect the MediaCastOverlayButton feature.
{
......
......@@ -709,11 +709,6 @@
"bases": [ "external/wpt/css/cssom" ],
"args": ["--disable-features=LinkDisabledNewSpecBehavior"]
},
{
"prefix": "media-capture-image-ptz",
"bases": [ "external/wpt/mediacapture-image" ],
"args": [ "--enable-blink-features=MediaCapturePanTilt" ]
},
{
"prefix": "out-of-blink-cspee",
"bases": [ "external/wpt/content-security-policy/embedded-enforcement" ],
......
# Media Capture Image PTZ
This directory contains (tentative) tests for the [Pan/Tilt support for Camera](https://github.com/w3c/mediacapture-image/blob/master/ptz-explainer.md) proposal.
**This suite runs the tests with** `--enable-blink-features=MediaCapturePanTilt`
\ No newline at end of file
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