Source code

Revision control

Copy as Markdown

Other Tools

defaults pref(media.navigator.permission.disabled,true) pref(media.devices.insecure.enabled,true) pref(media.getusermedia.insecure.enabled,true) pref(media.getusermedia.camera.fake.rotation-test-pattern,true)
# The rendered frame must end up upright regardless of where the rotation is
# applied, so all three configurations below share the same references.
#
# The query strings on the test url only serve to give each configuration a
# distinct name in the reftest log; the page ignores them.
#
# The fuzz tolerance covers the 4:2:0 chroma-subsampling blend along the
# red/blue quadrant boundary - an L-shaped edge, not the whole frame. Measured
# worst case here is 133 over 1120 pixels, and the tolerance is deliberately
# looser than that rather than pinned to it, since the YUV to sRGB conversion
# differs by platform and GPU. A genuinely dropped or wrong rotation differs by
# upwards of 150000 pixels, so there is no risk of one hiding under this.
#
# With draw snapshot the YUV to sRGB conversion lands the whole blue quadrant
# off by 2 from the CSS reference, which is 76800 pixels at 640x480. The
# quadrant's position is still verified since a wrong rotation moves it.
# Real capture backend (through CamerasParent), parent straightens the frame.
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.getusermedia.camera.fake.force,true) pref(media.webrtc.capture.apply-rotation,true) pref(media.getusermedia.camera.fake.rotation,0) == videoOrientation.html?capture-applied videoOrientation-ref.html?angle=0
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.getusermedia.camera.fake.force,true) pref(media.webrtc.capture.apply-rotation,true) pref(media.getusermedia.camera.fake.rotation,90) == videoOrientation.html?capture-applied videoOrientation-ref.html?angle=90
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.getusermedia.camera.fake.force,true) pref(media.webrtc.capture.apply-rotation,true) pref(media.getusermedia.camera.fake.rotation,180) == videoOrientation.html?capture-applied videoOrientation-ref.html?angle=180
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.getusermedia.camera.fake.force,true) pref(media.webrtc.capture.apply-rotation,true) pref(media.getusermedia.camera.fake.rotation,270) == videoOrientation.html?capture-applied videoOrientation-ref.html?angle=270
# Real capture backend, rotation left as metadata for the consumer to apply.
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.getusermedia.camera.fake.force,true) pref(media.webrtc.capture.apply-rotation,false) pref(media.getusermedia.camera.fake.rotation,0) == videoOrientation.html?capture-unapplied videoOrientation-ref.html?angle=0
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.getusermedia.camera.fake.force,true) pref(media.webrtc.capture.apply-rotation,false) pref(media.getusermedia.camera.fake.rotation,90) == videoOrientation.html?capture-unapplied videoOrientation-ref.html?angle=90
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.getusermedia.camera.fake.force,true) pref(media.webrtc.capture.apply-rotation,false) pref(media.getusermedia.camera.fake.rotation,180) == videoOrientation.html?capture-unapplied videoOrientation-ref.html?angle=180
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.getusermedia.camera.fake.force,true) pref(media.webrtc.capture.apply-rotation,false) pref(media.getusermedia.camera.fake.rotation,270) == videoOrientation.html?capture-unapplied videoOrientation-ref.html?angle=270
# MediaEngineFake, which bypasses CamerasParent entirely and so never applies
# rotation itself. Equivalent to the unapplied case above, by a different path.
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.navigator.streams.fake,true) pref(media.getusermedia.camera.fake.rotation,0) == videoOrientation.html?enginefake videoOrientation-ref.html?angle=0
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.navigator.streams.fake,true) pref(media.getusermedia.camera.fake.rotation,90) == videoOrientation.html?enginefake videoOrientation-ref.html?angle=90
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.navigator.streams.fake,true) pref(media.getusermedia.camera.fake.rotation,180) == videoOrientation.html?enginefake videoOrientation-ref.html?angle=180
fuzzy(0-200,0-2500) fuzzy-if(useDrawSnapshot,0-200,0-80000) pref(media.navigator.streams.fake,true) pref(media.getusermedia.camera.fake.rotation,270) == videoOrientation.html?enginefake videoOrientation-ref.html?angle=270