New issue
Advanced search Search tips

Issue 707547 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Dec 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

SVG bad click detection

Reported by ericu@chromium.org, Apr 2 2017

Issue description

Version: 57.0.2987.88 (Official Build) beta (64-bit)
OS: Linux

What steps will reproduce the problem?
(1) Load the attached file with the dev console open.
(2) Click around the circles, *outside* the circles but *within* a square bounding box around them.
(3) Look for clicks reported in the console.

What is the expected result?

You should get a log message only for a click on a circle, not nearby.

What happens instead?

For the central circle on the left diagram, and the lower-right quarter circle in both diagrams, clicks outside the circle but inside a square bounding box will trigger log messages.  For the center circle, you need to click down and to the right.  For the other two, it's up and to the left, as the rest isn't shown.

This looks like more than one bug to me, since the two diagrams should have identical behavior, but I don't know the code involved.  This is the same test file as  crbug.com/118734 ; I don't know if it's related.

I tried this in Firefox as well; they have different bugs than us.

For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.

Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
Flash: Software only, hardware acceleration unavailable
Flash Stage3D: Software only, hardware acceleration unavailable
Flash Stage3D Baseline profile: Software only, hardware acceleration unavailable
Compositing: Software only, hardware acceleration unavailable
Multiple Raster Threads: Unavailable
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Software only, hardware acceleration unavailable
Video Decode: Software only, hardware acceleration unavailable
Video Encode: Software only, hardware acceleration unavailable
VPx Video Decode: Software only, hardware acceleration unavailable
WebGL: Unavailable
WebGL2: Unavailable
Driver Bug Workarounds
clear_uniforms_before_first_program_use
decode_encode_srgb_for_generatemipmap
disable_discard_framebuffer
disable_framebuffer_cmaa
force_cube_complete
init_gl_position_in_vertex_shader
init_vertex_attributes
pack_parameters_workaround_with_pack_buffer
remove_pow_with_constant_exponent
scalarize_vec_and_mat_constructor_args
unpack_alignment_workaround_with_unpack_buffer
unpack_overlapping_rows_separately_unpack_buffer
use_virtualized_gl_contexts
Problems Detected
GPU process was unable to boot: GPU process launch failed.
Disabled Features: all
Accelerated video decode is unavailable on Linux: 137247
Disabled Features: accelerated_video_decode
NVIDIA linux drivers are unstable when using multiple Open GL contexts and with low memory: 145600
Disabled Features: flash_3d, accelerated_video_decode, flash_stage3d
Program link fails in NVIDIA Linux if gl_Position is not set: 286468
Applied Workarounds: init_gl_position_in_vertex_shader
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Linux NVIDIA drivers don't have the correct defaults for vertex attributes: 351528
Applied Workarounds: init_vertex_attributes
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
MakeCurrent is slow on Linux with NVIDIA drivers: 449150, 514510
Applied Workarounds: use_virtualized_gl_contexts
NVIDIA 331 series drivers shader compiler may crash when attempting to optimize pow(): 477306
Applied Workarounds: remove_pow_with_constant_exponent
NVIDIA drivers before 346 lack features in NV_path_rendering and related extensions to implement driver level path rendering.: 344330
NVIDIA fails glReadPixels from incomplete cube map texture: 518889
Applied Workarounds: force_cube_complete
Pack parameters work incorrectly with pack buffer bound: 563714
Applied Workarounds: pack_parameters_workaround_with_pack_buffer
Alignment works incorrectly with unpack buffer bound: 563714
Applied Workarounds: unpack_alignment_workaround_with_unpack_buffer
Framebuffer discarding can hurt performance on non-tilers: 570897
Applied Workarounds: disable_discard_framebuffer
Unpacking overlapping rows from unpack buffers is unstable on NVIDIA GL driver: 596774
Applied Workarounds: unpack_overlapping_rows_separately_unpack_buffer
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Decode and encode before generateMipmap for srgb format textures on os except macosx: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Version Information
Data exported	4/1/2017, 5:01:15 PM
Chrome version	Chrome/57.0.2987.88
Operating system	Linux 4.7.0-1-amd64
Software rendering list version	12.13
Driver bug list version	9.29
ANGLE commit id	c1a5d16e964a
2D graphics backend	Skia/57 7695359876b8f90225bc4be895c20f34fcdfaf2e
Command Line Args	--user-data-dir=/home/uranium/.config/google-chrome-beta --user-data-dir=/home/uranium/.config/google-chrome/Second --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	0
In-process GPU	true
Passthrough Command Decoder	false
Sandboxed	false
GPU0	VENDOR = 0x10de, DEVICE= 0x0a3c
Optimus	false
AMD switchable	false
Driver vendor	NVIDIA
Driver version	304.125
Driver date	
Pixel shader version	
Vertex shader version	
Max. MSAA samples	
Machine model name	
Machine model version	
GL_VENDOR	NVIDIA Corporation
GL_RENDERER	Quadro FX 880M/PCIe/SSE2
GL_VERSION	3.3.0 NVIDIA 304.125
GL_EXTENSIONS	
Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_NV_path_rendering
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Window manager	Metacity
XDG_CURRENT_DESKTOP	GNOME-Flashback:GNOME
GDMSESSION	gnome-flashback-metacity
Compositing manager	Yes
Direct rendering	Yes
Reset notification strategy	0x0000
GPU process crash count	1
System visual ID	0
RGBA visual ID	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
RG_88	Software only
BGR_565	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	Software only
BGRX_8888	Software only
BGRA_8888	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
Log Messages
GpuProcessHostUIShim: The GPU process exited with code 1024.
 
svg.html
1.4 KB View Download

Comment 1 by f...@opera.com, Apr 3 2017

Status: Available (was: Untriaged)
Labels: BugSource-Chromium PaintTeamTriaged-20170404

Comment 3 by f...@opera.com, Dec 14 2017

Status: WontFix (was: Available)
This had me puzzled for a bit, and I didn't notice this when first looking at the TC (and on the second look it took me a while to ponder the effect of it), but there's one <circle> in each <svg> that has pointer-events=visible - this means that as long as the element is visible ('visibility' is 'visible') both 'fill' and 'stroke' geometry will be considered _regardless_ of whether or not 'fill' or 'stroke' is specified (is non-'none') (see [1].) So that makes those <circle>s clickable even a bit outside of their painted shapes. (And since the initial/default stroke-width is 1, that's quite a bit of extra area in the left <svg>.)
I've attached an slightly updated test that highlights the area covered by the stroke geometry in the relevant cases. (It also highlights a bug with wide strokes...)

[1] https://svgwg.org/svg2-draft/interact.html#PointerEventsProp
svg.html
1.5 KB View Download

Sign in to add a comment