Closed Bug 1962128 Opened 25 days ago Closed 23 days ago

[wpt-sync] Sync PR 52126 - ImageCapture should only be exposed to secure context

Categories

(Core :: CSS Parsing and Computation, task, P4)

task

Tracking

()

RESOLVED FIXED
139 Branch
Tracking Status
firefox139 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 52126 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/52126
Details from upstream follow.

Eero Häkkinen <eero.hakkinen@intel.com> wrote:

ImageCapture should only be exposed to secure context

This CL modifies ImageCapture by adding SecureContext property.

Spec: https://w3c.github.io/mediacapture-image/#imagecaptureapi
Spec PR: https://github.com/w3c/mediacapture-image/pull/312

Change-Id: Id05b972b7fa3d004376492993954d881235c2c43
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6461967
Commit-Queue: Eero Hakkinen \<eero.hakkinen@intel.com>
Reviewed-by: Rijubrata Bhaumik \<rijubrata.bhaumik@intel.com>
Cr-Commit-Position: refs/heads/main@{#1450476}

Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core

CI Results

Ran 11 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 9 tests

Status Summary

Firefox

OK : 6
PASS : 1[Gecko-linux2204-64-wayland-debug, Gecko-linux2204-64-wayland-opt] 10[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt, GitHub]
FAIL : 38
ERROR: 2

Chrome

OK : 8
PASS : 48

Safari

OK : 6
PASS : 35
FAIL : 13
ERROR: 2

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /mediacapture-image/ImageCapture-grabFrame.https.html [wpt.fyi]
    • exercises the ImageCapture API creation and grabFrame().: FAIL
  • /mediacapture-image/ImageCapture-track.https.html [wpt.fyi]
    • ImageCapture track attribute is readonly: FAIL
  • /mediacapture-image/getPhotoCapabilities.https.html [wpt.fyi]
    • getPhotoCapabilities() of an ended Track should throw "InvalidStateError": FAIL
  • /mediacapture-image/getPhotoSettings.https.html [wpt.fyi]
    • getPhotoSettings() of an ended Track should throw "InvalidStateError": FAIL
  • /mediacapture-image/idlharness.https.window.html [wpt.fyi]
    • idl_test setup: FAIL
    • ImageCapture interface: existence and properties of interface object: FAIL
    • ImageCapture interface object length: FAIL
    • ImageCapture interface object name: FAIL
    • ImageCapture interface: existence and properties of interface prototype object: FAIL
    • ImageCapture interface: existence and properties of interface prototype object's "constructor" property: FAIL
    • ImageCapture interface: existence and properties of interface prototype object's @@unscopables property: FAIL
    • ImageCapture interface: operation takePhoto(optional PhotoSettings): FAIL
    • ImageCapture interface: operation getPhotoCapabilities(): FAIL
    • ImageCapture interface: operation getPhotoSettings(): FAIL
    • ImageCapture interface: operation grabFrame(): FAIL
    • ImageCapture interface: attribute track: FAIL
    • ImageCapture must be primary interface of capture: FAIL
    • Stringification of capture: FAIL
    • ImageCapture interface: capture must inherit property "takePhoto(optional PhotoSettings)" with the proper type: FAIL
    • ImageCapture interface: calling takePhoto(optional PhotoSettings) on capture with too few arguments must throw TypeError: FAIL
    • ImageCapture interface: capture must inherit property "getPhotoCapabilities()" with the proper type: FAIL
    • ImageCapture interface: capture must inherit property "getPhotoSettings()" with the proper type: FAIL
    • ImageCapture interface: capture must inherit property "grabFrame()" with the proper type: FAIL
    • ImageCapture interface: capture must inherit property "track" with the proper type: FAIL
  • /mediacapture-image/takePhoto.https.html [wpt.fyi]
    • takePhoto() of an ended Track should throw "InvalidStateError": FAIL

New Tests That Don't Pass

  • /mediacapture-image/ImageCapture-grabFrame.https.html [wpt.fyi]
    • exercises the ImageCapture API creation and grabFrame().: FAIL (Chrome: PASS, Safari: PASS)
  • /mediacapture-image/ImageCapture-track.https.html [wpt.fyi]
    • ImageCapture track attribute is readonly: FAIL (Chrome: PASS, Safari: PASS)
  • /mediacapture-image/getPhotoCapabilities.https.html [wpt.fyi]
    • exercises ImageCapture.getPhotoCapabilities(): FAIL (Chrome: PASS, Safari: FAIL)
    • getPhotoCapabilities() of an ended Track should throw "InvalidStateError": FAIL (Chrome: PASS, Safari: PASS)
    • throw "OperationError" when the MediaStreamTrack is stopped while getting photo capabilities: FAIL (Chrome: PASS, Safari: FAIL)
  • /mediacapture-image/getPhotoSettings.https.html [wpt.fyi]
    • exercises ImageCapture.getPhotoSettings(): FAIL (Chrome: PASS, Safari: FAIL)
    • getPhotoSettings() of an ended Track should throw "InvalidStateError": FAIL (Chrome: PASS, Safari: PASS)
    • throw "OperationError" when the MediaStreamTrack is stopped while getting photo settings: FAIL (Chrome: PASS, Safari: FAIL)
  • /mediacapture-image/idlharness.https.window.html [wpt.fyi]
    • idl_test setup: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: existence and properties of interface object: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface object length: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface object name: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: existence and properties of interface prototype object: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: existence and properties of interface prototype object's "constructor" property: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: existence and properties of interface prototype object's @@unscopables property: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: operation takePhoto(optional PhotoSettings): FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: operation getPhotoCapabilities(): FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: operation getPhotoSettings(): FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: operation grabFrame(): FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: attribute track: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture must be primary interface of capture: FAIL (Chrome: PASS, Safari: PASS)
    • Stringification of capture: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: capture must inherit property "takePhoto(optional PhotoSettings)" with the proper type: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: calling takePhoto(optional PhotoSettings) on capture with too few arguments must throw TypeError: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: capture must inherit property "getPhotoCapabilities()" with the proper type: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: capture must inherit property "getPhotoSettings()" with the proper type: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: capture must inherit property "grabFrame()" with the proper type: FAIL (Chrome: PASS, Safari: PASS)
    • ImageCapture interface: capture must inherit property "track" with the proper type: FAIL (Chrome: PASS, Safari: PASS)
  • /mediacapture-image/takePhoto-reject.https.html [wpt.fyi]: ERROR (Chrome: OK, Safari: ERROR)
    • ImageCapture.takePhoto(options) rejects with bad options, #0: FAIL (Chrome: PASS, Safari: FAIL)
    • ImageCapture.takePhoto(options) rejects with bad options, #1: FAIL (Chrome: PASS, Safari: FAIL)
    • ImageCapture.takePhoto(options) rejects with bad options, #2: FAIL (Chrome: PASS, Safari: FAIL)
    • ImageCapture.takePhoto(options) rejects with bad options, #3: FAIL (Chrome: PASS, Safari: FAIL)
    • ImageCapture.takePhoto(options) rejects with bad options, #4: FAIL (Chrome: PASS, Safari: FAIL)
    • ImageCapture.takePhoto(options) rejects with bad options, #5: FAIL (Chrome: PASS, Safari: FAIL)
  • /mediacapture-image/takePhoto-with-PhotoSettings.https.html [wpt.fyi]
    • exercises ImageCapture.takePhoto(PhotoSettings dictionary): FAIL (Chrome: PASS, Safari: FAIL)
  • /mediacapture-image/takePhoto.https.html [wpt.fyi]: ERROR (Chrome: OK, Safari: ERROR)
    • exercises ImageCapture.takePhoto(): FAIL (Chrome: PASS, Safari: FAIL)
    • exercises ImageCapture.takePhoto(null): FAIL (Chrome: PASS, Safari: FAIL)
    • takePhoto() of an ended Track should throw "InvalidStateError": FAIL (Chrome: PASS, Safari: PASS)
Pushed by smolnar@mozilla.com: https://hg.mozilla.org/mozilla-central/rev/f47f7befee28 [wpt PR 52126] - ImageCapture should only be exposed to secure context, a=testonly https://hg.mozilla.org/mozilla-central/rev/5c9cc93601d1 [wpt PR 52126] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 23 days ago
Resolution: --- → FIXED
Target Milestone: --- → 139 Branch
You need to log in before you can comment on or make changes to this bug.