Merge pull request #1500 from criteo-forks/criteo
[mono.git] / mcs / class / System.Web / System.Web.UI / ToolboxDataAttribute.cs
index 96222e3411fd713b3851f7c55516fe80fc89538d..3f328df289aaab55821a1b15836e58ad79439f15 100644 (file)
 // Authors:
 //     Jackson Harper (jackson@ximian.com)
 //
-// (C) 2005 Novell, Inc.
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
 
-using System;
-
-namespace System.Web.UI {
+using System.Security.Permissions;
 
+namespace System.Web.UI
+{
+       // CAS - no InheritanceDemand here as the class is sealed
+       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+       // attributes
        [AttributeUsage(AttributeTargets.Class)]
-       public sealed class ToolboxDataAttribute : Attribute {
-
+       public sealed class ToolboxDataAttribute : Attribute
+       {
                public static readonly ToolboxDataAttribute Default = new ToolboxDataAttribute (String.Empty);
 
-               private string data;
+               string data;
 
                public ToolboxDataAttribute (string data)
                {
@@ -57,13 +60,13 @@ namespace System.Web.UI {
                public override int GetHashCode ()
                {
                        if (data == null)
-                               return 0;
+                               return -1;
                        return data.GetHashCode ();
                }
 
                public override bool IsDefaultAttribute ()
                {
-                       return Equals (Default);
+                       return ((data == null) || (data.Length == 0));
                }
        }
 }