Opened 13 years ago
Closed 12 years ago
#5846 closed defect (fixed)
GFX Silverlight renderer detection wont back off to SVG
Reported by: | Adam Peller | Owned by: | Eugene Lazutkin |
---|---|---|---|
Priority: | high | Milestone: | 1.3 |
Component: | DojoX GFX | Version: | 1.0 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description (last modified by )
from Philip Taunton (IBM):
In trying to setup a web page that uses Silverlight for GFX drawing, I've found that the detection of the Silverlight plugin succeeds on a machine that does not have the plugin installed. The web page is setup with djConfig="gfxRenderer: 'silverlight,svg,vml'" such that it should back off to SVG if the Silverlight plugin is not found.
The page works fine on a system with the SL plugin installed, but on a system with no SL, it just displays the standard Microsoft "Get the plugin" banner rather than choosing SVG (browser is Firefox 2.0.0.11). There is also an associated JavaScript? error being produced on the console:
"dojo.byId(pluginName) has no properties"
Doing some investigation, it looks like the check for Silverlight on line 22 of dojox/gfx.js will pass purely if you have loaded the Silverlight.js file from Microsoft regardless of whether the plugin is actually installed. I believe a call to Silverlight.isInstalled(version) will be necessary to confirm the true existence of the Silverlight plugin.
Change History (13)
comment:1 Changed 13 years ago by
Milestone: | → 1.1.1 |
---|---|
Status: | new → assigned |
comment:2 Changed 13 years ago by
comment:3 Changed 13 years ago by
Description: | modified (diff) |
---|
The detection problem is multiplied by inability of Silverlight.js to support the latest Firefox and Safari browsers. All gory details can be read in this thread: https://bugzilla.mozilla.org/show_bug.cgi?id=385720#c15. It looks like the only way to go forward is to ditch Silverlight.js completely and rewrite its buggy code. It includes the detection and the instantiation.
comment:4 Changed 13 years ago by
comment:5 Changed 13 years ago by
comment:6 Changed 13 years ago by
The code in [14325] works on Windows with IE and FF. It "almost" works on Linux with Moonlight (requires more experiments, and possible complication of API :-( ). It needs to be tested with Safari on Mac to see if it works as expected (may need some tweaking).
As soon as we good on Mac and Linux, and #6083 and #6939 are fixed, we can move the Silverlight renderer from the "experimental" to production, and move ahead of VML in the renderer string (gfxRenderer).
comment:7 Changed 13 years ago by
comment:8 Changed 13 years ago by
comment:12 Changed 12 years ago by
The only known problem is the Moonlight --- it is detected properly but crashes the browser. It was confirmed by the Mono team. I keep this ticket open to track this problem.
comment:13 Changed 12 years ago by
Milestone: | future → 1.3 |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
New ticket will be opened if problem with Moonlight surfaces again.
The technical problem is deeper than that, and Microsoft refused to fix the problem in their Silverlight detection code. I'll try to implement our own Silverlight detection code instead of relying on their implementation.