Last modified: 2011-11-29 20:57:14 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T23714, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 21714 - ActiveX prompt on IE8
ActiveX prompt on IE8
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
UsabilityInitiative (Other open bugs)
unspecified
PC All
: Lowest major (vote)
: ---
Assigned To: Trevor Parscal
: upstream
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-11-30 09:24 UTC by Lupo
Modified: 2011-11-29 20:57 UTC (History)
3 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
Screenshot showing the ActiveX prompt on IE8 (37.82 KB, image/png)
2009-11-30 09:24 UTC, Lupo
Details

Description Lupo 2009-11-30 09:24:29 UTC
Created attachment 6849 [details]
Screenshot showing the ActiveX prompt on IE8

The usability JS causes IE with certain "Internet security" settings to display a prompt about ActiveX. See the attached screenshot from IE8.

jquery unconditionally uses the ActiveX implementation of XHR on IE, even if window.XmlHttpRequest exists. This may cause this prompt (before page display) on IE depending on the setting of the "internet security options", which a user may not even have control over as these "internet security" settings are frequently locked off for normal users on Windows boxes. If the setting is set to "prompt", the prompt will appear each and every time a page is visited on any WMF project where the UsabilityInitiative JS runs. (Or even, where jquery runs.)

This applies to IE6, IE7, and also IE8.

IMO jquery should be patched such that it uses window.XmlHttpRequest when available, and furthermore such that it doesn't try to instantiate an ActiveX control already upon loading, but only when really needed (such as in response to a mouse click). Unfortunately there is no way (that I know of) a JS could detect that client-side setting, so the best bet is to make sure that at least plain viewing of pages doesn't trigger that stupid prompt.
Comment 1 Lupo 2009-12-16 16:24:05 UTC
BTW, ActiveX activation upon loading of jquery 1.3.2 can be avoided by applying the simple patch described at http://dev.jquery.com/changeset/6268
Comment 2 Roan Kattouw 2010-01-22 21:24:27 UTC
This should be fixed once we move to jQuery 1.4
Comment 3 Trevor Parscal 2010-01-26 00:30:58 UTC
jQuery 1.4 is out, but still not compatible. We will continue working on upgrading, but in the mean time, there's nothing to do here.
Comment 4 Max Semenik 2011-02-24 17:07:17 UTC
Is this still an issue? From jQuery we currently use:

		xhr: window.XMLHttpRequest && (window.location.protocol !== "file:" || !window.ActiveXObject) ?
			function() {
				return new window.XMLHttpRequest();
			} :
			function() {
				try {
					return new window.ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) {}
			},
Comment 5 Brion Vibber 2011-11-29 20:57:14 UTC
This should no longer happen on IE 7 and IE 8 which have native XMLHTTPRequest, we've updated to .... now jQuery 1.6.4 I think.

IE 6 will still need to use the ActiveX, but them's the breaks. Don't like it, upgrade.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links