Opened 7 years ago

Closed 6 years ago

Last modified 6 years ago

#16774 closed defect (fixed)

GFX VML check needs fix now that IE9/10 exist

Reported by: Tom Shinnick Owned by: Patrick Ruzand
Priority: blocker Milestone: 1.7.5
Component: DojoX GFX Version: 1.8.3
Keywords: IE9, IE10 Cc:
Blocked By: Blocking:

Description

dojox/gfx/renderer.js has an inflexible check for whether the 'vml' renderer is supported. "If IE, must be" is no longer correct now that IE9/IE10 support canvas and SVG.

If one should have a dojoConfig saying

gfxRenderer : "vml,svg,canvas"

then on IE9 nothing will be drawn (doctype issue?) and on IE10 they'll just laugh at you. This could then be an issue requiring application source changes to work on IE9 and now especially IE10 where VML is de-support.

Anyway, the code is unchanged in trunk, so presumably 1.9.x :

http://bugs.dojotoolkit.org/browser/dojo/dojox/trunk/gfx/renderer.js#L31

I thought of checking this after peeking at phiggins has.js stuff on github. Presumably the VML-capability check from there could be used. I didn't see the check in dojo/has.js

Tested against 1.8.3 and IE9.

Attachments (1)

vml.diff (875 bytes) - added by Bryan Forbes 6 years ago.

Download all attachments as: .zip

Change History (15)

comment:1 Changed 7 years ago by dylan

Keywords: IE9 IE10 added
Milestone: tbd1.9
Owner: changed from Eugene Lazutkin to dylan
Priority: undecidedblocker
Status: newassigned

comment:2 Changed 7 years ago by dylan

In [30812]:

refs #16774, if vml is first choice in config list for gfx, need to make sure vml does not return as the renderer

comment:3 Changed 7 years ago by dylan

In [30813]:

refs #16774, if vml is first choice in config list for gfx, need to make sure vml does not return as the renderer

comment:4 Changed 7 years ago by dylan

In [30814]:

refs #16774, if vml is first choice in config list for gfx, need to make sure vml does not return as the renderer

comment:5 Changed 7 years ago by dylan

In [30815]:

refs #16774, if vml is first choice in config list for gfx, need to make sure vml does not return as the renderer

comment:6 Changed 7 years ago by dylan

Resolution: fixed
Status: assignedclosed

Backported to 1.8 and 1.7 branches also.

comment:7 Changed 7 years ago by bill

Milestone: 1.91.7.5

comment:8 Changed 6 years ago by Patrick Ruzand

The last update breaks IE9 behavior in Quirks mode. In this case, has("ie") is > 8, and the renderer detection may ends up with no renderer (provided silverlight is not installed).
Note that for IE10, VML does not work anymore in Quirks mode, but is only supported for the following *Document Mode* : 5, 7, 8, and 9. (http://msdn.microsoft.com/en-us/library/ie/hh801223(v=vs.85).aspx)

comment:9 Changed 6 years ago by Patrick Ruzand

Resolution: fixed
Status: closedreopened

comment:10 Changed 6 years ago by Patrick Ruzand

Owner: changed from dylan to Patrick Ruzand
Status: reopenedassigned

Changed 6 years ago by Bryan Forbes

Attachment: vml.diff added

comment:11 Changed 6 years ago by Bryan Forbes

I have attached a patch that adds the VML feature test and its use.

comment:12 Changed 6 years ago by Patrick Ruzand

Resolution: fixed
Status: assignedclosed

In [31158]:

fix vml detection, fixes #16774 thx BryanForbes?

comment:13 Changed 6 years ago by Patrick Ruzand

In [31159]:

fix vml detection, refs #16774 thx BryanForbes?

comment:14 Changed 6 years ago by Patrick Ruzand

In [31160]:

fix vml detection, refs #16774 thx BryanForbes?

Note: See TracTickets for help on using tickets.