[go: nahoru, domu]

[PTZ] Expose image capture pan & tilt only if PTZ permission is granted

This CL makes sure the pan/tilt capabilities/constraints/settings
are available only if PTZ permission is granted to the website when the
the MediaCapturePanTilt feature is enabled.
If the MediaCapturePanTilt feature is disabled, the pan/tilt (not zoom)
capabilities/constraints/settings are not available due to the presence
of [RuntimeEnabled=MediaCapturePanTilt] attributes in WebIDLs while the
zoom capabilities/constraints/settings is still available regardless of
the PTZ permission.

An upcoming CL regarding PTZ support in getUserMedia will address a
potential race condition that may happen if PTZ permission status is not
retrieved when getting pan/tilt capabilities/constraints/settings.

Manual test: https://ptz.glitch.me/
Explainer: https://github.com/w3c/mediacapture-image/blob/master/ptz-explainer.md

Change-Id: Ieaefb0e239dd6921cdd4de5441afb7cd4050bf5b
Bug: 934063
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2151567
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Andy Paicu <andypaicu@chromium.org>
Reviewed-by: Rijubrata Bhaumik <rijubrata.bhaumik@intel.com>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/master@{#769235}
14 files changed
tree: b0ec907e859f6eb02e11531179b4c23029de495c
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. cloud_print/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. jingle/
  31. media/
  32. mojo/
  33. native_client_sdk/
  34. net/
  35. pdf/
  36. ppapi/
  37. printing/
  38. remoting/
  39. rlz/
  40. sandbox/
  41. services/
  42. skia/
  43. sql/
  44. storage/
  45. styleguide/
  46. testing/
  47. third_party/
  48. tools/
  49. ui/
  50. url/
  51. weblayer/
  52. .clang-format
  53. .clang-tidy
  54. .eslintrc.js
  55. .git-blame-ignore-revs
  56. .gitattributes
  57. .gitignore
  58. .gn
  59. .vpython
  60. .vpython3
  61. .yapfignore
  62. AUTHORS
  63. BUILD.gn
  64. CODE_OF_CONDUCT.md
  65. codereview.settings
  66. DEPS
  67. ENG_REVIEW_OWNERS
  68. LICENSE
  69. LICENSE.chromium_os
  70. OWNERS
  71. PRESUBMIT.py
  72. PRESUBMIT_test.py
  73. PRESUBMIT_test_mocks.py
  74. README.md
  75. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure .

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.