using System.Globalization;
using System.Web.Configuration;
using System.Web.UI;
+using System.Security.Permissions;
#if NET_2_0
namespace System.Web.Configuration {
#else
namespace System.Web {
- public partial class HttpBrowserCapabilities : HttpCapabilitiesBase
+ [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+ [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+ public class HttpBrowserCapabilities : HttpCapabilitiesBase
#endif
{
const int HaveActiveXControls = 1;
const int HaveJavaScript = 13;
const int HaveMajorVersion = 14;
const int HaveMinorVersion = 15;
- //const int HaveMSDomVersion = 16;
+ const int HaveMSDomVersion = 16;
const int HavePlatform = 17;
const int HaveTables = 18;
//const int HaveTagWriter = 19;
bool javaScript;
int majorVersion;
double minorVersion;
- //Version msDomVersion;
+ Version msDomVersion;
string platform;
bool tables;
//Type tagWriter;
Version [] clrVersions;
internal string useragent;
+#if !NET_2_0
+ public HttpBrowserCapabilities ()
+ {
+ }
+#endif
+
public bool ActiveXControls {
get {
if (!Get (HaveActiveXControls)) {
}
}
#if NET_2_0
- [MonoTODO]
+ [MonoTODO ("Not implemented")]
public ArrayList Browsers {
get { throw new NotImplementedException (); }
}
public Version MSDomVersion {
get {
- return new Version (0, 0);
+ if (!Get (HaveMSDomVersion)) {
+ string ver_str;
+ Set (HaveMSDomVersion);
+ ver_str = this ["msdomversion"];
+ if (ver_str == null)
+ msDomVersion = new Version (0, 0);
+ else
+ msDomVersion = new Version (ver_str);
+ }
+
+ return msDomVersion;
}
}