New issue
Advanced search Search tips

Issue 894007 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Iframe Allow tag "microphone, webcam, geo location" not working only for chrome browsers

Reported by thejosep...@gmail.com, Oct 10

Issue description

Example URL:
https://www.chatzozo.com/bug/

Steps to reproduce the problem:
1. https://www.chatzozo.com/bug/  Open the link
2. Log in as guest user/register user. Choose any one of the room to log into the chat room.
3. Click the MICROPHONE icon to record your voice. Once you done recording, click he square black stop button to send the voice message automatically in the room.
4. Once you see a voice note on the screen, try to play it. It won't play any voice messages. This is the bug, which happens only on android chrome browsers.
5. But if you, use the direct link of the chat room "https://indianchat.chatzozo.com/chat.php " you can record your voice and send them into the room. So, i'm pretty sure this is the iframe tag permission issue.

What is the expected behavior?

What went wrong?
Users who use chrome browsers can't record voice messages due to allow tag permission in the iframe. 

I have tested it with all desktop devices and it works fine in iframe mode and even i checked with firefox browser on android phone. It works fine on the firefox browser. So chrome is the one making this issue.

Did this work before? Yes It worked on last version of chrome beta.

Is it a problem with Flash or HTML5? Both

Does this work in other browsers? Yes

Chrome version: 69.0.3497.100  Channel: stable
OS Version: 8.1
Flash Version: 

Contents of chrome://gpu: 
Graphics Feature Status

    Canvas: Hardware accelerated
    Flash: Hardware accelerated
    Flash Stage3D: Hardware accelerated
    Flash Stage3D Baseline profile: Hardware accelerated
    Compositing: Hardware accelerated
    Multiple Raster Threads: Disabled
    Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
    Out-of-process Rasterization: Hardware accelerated
    Hardware Protected Video Decode: Unavailable
    Rasterization: Hardware accelerated
    Skia Deferred Display List: Disabled
    Skia Renderer: Disabled
    Surface Synchronization: Disabled
    Video Decode: Hardware accelerated
    Viz Service Display Compositor: Disabled
    WebGL: Hardware accelerated
    WebGL2: Hardware accelerated

Driver Bug Workarounds

    clear_uniforms_before_first_program_use
    disable_framebuffer_cmaa
    disable_program_caching_for_transform_feedback
    disable_timestamp_queries
    dont_disable_webgl_when_compositor_context_lost
    force_cube_map_positive_x_allocation
    max_copy_texture_chromium_size_1048576
    max_msaa_sample_count_4
    max_texture_size_limit_4096
    scalarize_vec_and_mat_constructor_args
    unbind_egl_context_to_flush_driver_caches
    use_virtualized_gl_contexts
    wake_up_gpu_before_drawing

Problems Detected

    Protected video decoding with swap chain is for Windows and Intel only
    Disabled Features: protected_video_decode
    Non-virtual contexts on Qualcomm sometimes cause out-of-order frames: 289461
    Applied Workarounds:use_virtualized_gl_contexts
    The first draw operation from an idle state is slow: 309734
    Applied Workarounds:wake_up_gpu_before_drawing
    Clear uniforms before first program use on all platforms: 124764, 349137
    Applied Workarounds:clear_uniforms_before_first_program_use
    Always rewrite vec/mat constructors to be consistent: 398694
    Applied Workarounds:scalarize_vec_and_mat_constructor_args
    glFinish doesn't clear caches on Android: 509727
    Applied Workarounds:unbind_egl_context_to_flush_driver_caches
    Android Adreno crashes on binding incomplete cube map texture to FBO: 518889
    Applied Workarounds:force_cube_map_positive_x_allocation
    CHROMIUM_copy_texture with 1MB copy per flush to avoid unwanted cache growth on Adreno: 542478
    Applied Workarounds:max_copy_texture_chromium_size_1048576
    Limit max texure size to 4096 on all of Android
    Applied Workarounds:max_texture_size_limit_4096
    Use GL_INTEL_framebuffer_CMAA on ChromeOS: 535198
    Applied Workarounds:disable_framebuffer_cmaa
    Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
    Applied Workarounds:disable(GL_KHR_blend_equation_advanced),disable(GL_KHR_blend_equation_advanced_coherent)
    Program binaries don't contain transform feedback varyings on Qualcomm GPUs: 658074
    Applied Workarounds:disable_program_caching_for_transform_feedback
    eglSwapBuffers intermittently fails on Android when app goes to background: 744678
    Applied Workarounds:dont_disable_webgl_when_compositor_context_lost
    Don't expose disjoint_timer_query extensions to WebGL: 808744
    Limit MSAA to 4x on Android devices: 797243
    Applied Workarounds:max_msaa_sample_count_4
    A deleted query id for GL_TIMESTAMP cannot be reused for other query targets: 858879
    Applied Workarounds:disable_timestamp_queries
    Raster is using a single thread.
    Disabled Features: multiple_raster_threads
    Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
    Disabled Features:native_gpu_memory_buffers
    Surface synchronization has been disabled by Finch trial or command line.
    Disabled Features: surface_synchronization
    Viz service display compositor is not enabled by default.
    Disabled Features: viz_display_compositor
    Skia renderer is not used by default.
    Disabled Features: skia_renderer
    Skia deferred display list is not used by default.
    Disabled Features: skia_deferred_display_list

Version Information
Data exported	2018-10-10T11:03:29.908Z
Chrome version	Chrome/69.0.3497.100
Operating system	Android 8.1.0
Software rendering list URL	https://chromium.googlesource.com/chromium/src/+/8920e690dd011895672947112477d10d5c8afb09/gpu/config/software_rendering_list.json
Driver bug list URL	https://chromium.googlesource.com/chromium/src/+/8920e690dd011895672947112477d10d5c8afb09/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	6ffc489d4f18
2D graphics backend	Skia/69 e110fd1ebd2d559838c49a8821ebf18986bd6ec2-
Command Line	--use-mobile-user-agent --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 --use-mobile-user-agent --enable-pinch --enable-viewport --validate-input-event-stream --enable-longpress-drag-selection --touch-selection-strategy=direction --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --enable-dom-distiller --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	73
In-process GPU	false
Passthrough Command Decoder	false
Sandboxed	false
GPU0	VENDOR = 0x0000 [Qualcomm], DEVICE= 0x0000 [Adreno (TM) 630] *ACTIVE*
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	283.0
Driver date	
Pixel shader version	3.20
Vertex shader version	3.20
Max. MSAA samples	4
Machine model name	POCO F1
Machine model version	
GL_VENDOR	Qualcomm
GL_RENDERER	Adreno (TM) 630
GL_VERSION	OpenGL ES 3.2 V@283.0 (GIT@d97c133, I6534cce057) (Date:03/19/18)
GL_EXTENSIONS	GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_texture_compression_astc GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_border_clamp GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_array GL_EXT_draw_buffers_indexed GL_EXT_gpu_shader5 GL_EXT_robustness GL_EXT_texture_buffer GL_EXT_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_texture_storage_multisample_2d_array GL_OES_sample_shading GL_OES_get_program_binary GL_EXT_debug_label GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_QCOM_tiled_rendering GL_ANDROID_extension_pack_es31a GL_EXT_primitive_bounding_box GL_OES_standard_derivatives GL_OES_vertex_array_object GL_EXT_disjoint_timer_query GL_KHR_debug GL_EXT_YUV_target GL_EXT_sRGB_write_control GL_EXT_texture_norm16 GL_EXT_discard_framebuffer GL_OES_surfaceless_context GL_OVR_multiview GL_OVR_multiview2 GL_EXT_texture_sRGB_R8 GL_KHR_no_error GL_EXT_debug_marker GL_OES_EGL_image_external_essl3 GL_OVR_multiview_multisampled_render_to_texture GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_blit_framebuffer_params GL_EXT_clip_cull_distance GL_EXT_protected_textures GL_EXT_shader_non_constant_global_initializers GL_QCOM_texture_foveated GL_QCOM_shader_framebuffer_fetch_noncoherent GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_EGL_image_array GL_NV_shader_noperspective_interpolation
Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions	EXT_disjoint_timer_query EXT_disjoint_timer_query_webgl2
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Direct rendering	Yes
Reset notification strategy	0x8252
GPU process crash count	0
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
R_16	Software only
RG_88	Software only
BGR_565	Software only
RGBA_4444	Software only
RGBX_8888	GPU_READ, SCANOUT
RGBA_8888	GPU_READ, SCANOUT
BGRX_8888	Software only
BGRX_1010102	Software only
RGBX_1010102	Software only
BGRA_8888	Software only
RGBA_F16	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
Display(s) Information
Info	Display[0] bounds=[0,0 393x817], workarea=[0,0 393x817], scale=2.75, external.
Color space information	{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Bits per color component	8
Bits per pixel	24
Video Acceleration Information
Decode vp8	up to 3840x2160 pixels
Decode vp8	up to 3840x2160 pixels (encrypted)
Decode vp9 profile0	up to 3840x2160 pixels
Decode vp9 profile0	up to 3840x2160 pixels (encrypted)
Decode vp9 profile1	up to 3840x2160 pixels
Decode vp9 profile1	up to 3840x2160 pixels (encrypted)
Decode vp9 profile2	up to 3840x2160 pixels
Decode vp9 profile2	up to 3840x2160 pixels (encrypted)
Decode vp9 profile3	up to 3840x2160 pixels
Decode vp9 profile3	up to 3840x2160 pixels (encrypted)
Decode h264 baseline	up to 3840x2160 pixels
Decode h264 main	up to 3840x2160 pixels
Decode h264 extended	up to 3840x2160 pixels
Decode h264 high	up to 3840x2160 pixels
Decode h264 high 10	up to 3840x2160 pixels
Decode h264 high 4:2:2	up to 3840x2160 pixels
Decode h264 high 4:4:4 predictive	up to 3840x2160 pixels
Decode h264 scalable baseline	up to 3840x2160 pixels
Decode h264 scalable high	up to 3840x2160 pixels
Decode h264 stereo high	up to 3840x2160 pixels
Decode h264 multiview high	up to 3840x2160 pixels
Encode vp8	up to 1280x720 pixels and/or 30.000 fps
Encode h264 baseline	up to 1280x720 pixels and/or 30.000 fps

The weird part is, i created a bug report last time, then it worked fine on the beta version of the chrome. But, once you guys released beta as sable version. It does not work. very very weird isssue...
 
Cc: nisse@chromium.org chfremer@chromium.org
Components: -Internals>Media Blink>GetUserMedia
Can you help triage this issue?
Components: -Blink>GetUserMedia Blink>FeaturePolicy
Marking with the FeaturePolicy component. Feel free to reassign if this is not correct.
Tested on desktop Macos Chrome 69.0.3497.100 with no problems. Will test out on Android as soon as I get that device connected.

I do see the iframe with the attribute "microphone *; camera *; geolocation *", which should work.

Working in other browsers may not be related, as firefox currently does not implement Feature policy. (Safari has limited support for the allow attribute; I'm not sure how it handles this particular string.)
Labels: Needs-triage-Mobile
Aany updates folks? 
Just to make sure (in case you have not tried it before), could you also verify:
 1- In the "App Settings" for Chrome "Microphone" is permitted.
 2- In Chrome Settings -> Site Settings, under "Microphone" section the site is not blocked.

For me the permission works fine both on Android (Pixel XL) and Linux.
are you sure? you did checked the link i mentioned above?. Because it does not work for any one of my user or myself. And your settings (permission for micrphone) yes all good, nothing is blocked.

If you a screen recorded video with explanation i can get it. For sure, it is not working on any android phones. (chrome browser).
Status: Available (was: Unconfirmed)
OK, testing it again I agree with you that it does not work on Chrome Stable. It however works just fine on current Canary which is Chrome 72. Could you please try this again on Chrome 72 and confirm if it is fixed on the newest version of Chrome?
This happens all the time, it works in beta version. Once the beta version is released as stable version. It doesn't works, this issue happened last two times. This is my 3rd time making same complaint again and again, only for stable version.

Let me share my last two bug report and it happens all the time, they close the issue because it works on beta version always.

https://bugs.chromium.org/p/chromium/issues/detail?id=835544

https://bugs.chromium.org/p/chromium/issues/detail?id=863444
Owner: iclell...@chromium.org
Status: Assigned (was: Available)
Assigning this to icelland@ to see if there is something we should do for beta. I double the fix can be merged back to stable at this point. 
This is breaking our player as well from an iframe when we are trying to getUserMedia access. Looks like it was introduced in Chrome 71. 

My current version is Version 71.0.3578.80 (Official Build) (64-bit). I added a simple iframe asking for mic access and this is easily reproducible in the said version https://jsfiddle.net/r3bvgdt8/...

@ekaramad@chromium.org -- you're right that this works fine when I tested this also in Canary now in Chrome 73

Sign in to add a comment