namespace System.Web.Configuration
{
using System;
+ using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
: base()
{
base.Capabilities = items;
+ Capabilities ["browsers"] = new ArrayList ();
}
static CapabilitiesResult () {
{
this.Capabilities[name] = value;
}
+
+ internal void AddMatchingBrowserId (string id)
+ {
+ ArrayList al = Capabilities ["browsers"] as ArrayList;
+ if (al != null && !al.Contains (id))
+ al.Add (id);
+ }
+
internal virtual string Replace(string item)
{
if (item.IndexOf("$") > -1)
+2008-10-01 Marek Habersack <mhabersack@novell.com>
+
+ * CapabilitiesResult.cs: added support for the "browsers"
+ capability - a collection of matching browser ids.
+
+ * nBrowser/Node.cs: store matching browser ids in the capabilities
+ collection (to support IsBrowser correctly)
+
2008-07-25 Dean Brettle <dean@brettle.com>
* nBrowser/Node.cs nBrowser/Build.cs nBrowser/Identification.cs: Fixed race
return false;
}
+ result.AddMatchingBrowserId (this.Id);
#region Browser Identification Successfull
//----------------------------------------------------------------------
//By reaching this point, it either means there were no Identification
public bool IsBrowser (string browserName)
{
foreach (string browser in Browsers) {
- if (0 == String.CompareOrdinal(browser, "Unknown")) {
+ if (0 == String.Compare (browser, "Unknown", StringComparison.OrdinalIgnoreCase)) {
continue;
}
- if (0 == String.CompareOrdinal(browserName, browser)) {
+ if (0 == String.Compare (browserName, browser, StringComparison.OrdinalIgnoreCase)) {
return true;
}
}
+2008-10-01 Marek Habersack <mhabersack@novell.com>
+
+ * BrowserCapabilities.cs: IsBrowser needs to compare browser names
+ case insensitively.
+
2008-09-29 Marek Habersack <mhabersack@novell.com>
* HttpApplication.cs: do not assume the passed IAsyncResult is a