diff options
author | Wade Berrier <wade@mono-cvs.ximian.com> | 2007-08-27 22:25:17 +0400 |
---|---|---|
committer | Wade Berrier <wade@mono-cvs.ximian.com> | 2007-08-27 22:25:17 +0400 |
commit | 3099f3ce8d009126b71e2856744953b706b153b3 (patch) | |
tree | 23e73d1a7c44fcd1e17022a3148974e9c6e3e243 |
Revert r84868 from p5 tagmono-1-2-5-p5
svn path=/tags/mono-1-2-5-p5/mcs/; revision=84905
7 files changed, 7170 insertions, 0 deletions
diff --git a/mcs/class/System.Web/System.Web.Configuration/ChangeLog b/mcs/class/System.Web/System.Web.Configuration/ChangeLog new file mode 100644 index 00000000000..f889d222ebe --- /dev/null +++ b/mcs/class/System.Web/System.Web.Configuration/ChangeLog @@ -0,0 +1,813 @@ +2007-05-01 Marek Habersack <mhabersack@novell.com> + + * HttpCapabilitiesBase.cs: move the User-Agent code to a separate + internal method. + +2007-04-10 Marek Habersack <mhabersack@novell.com> + + * WebConfigurationSettings.cs: add NotifyFilter.Size to the + watcher notification filter to enable file modification events + with Linux inotify. + +2007-03-22 Adar Wesley <adarw@mainsoft.com> + + * HttpCapabilitiesBase.cs: support for implementation of new + capabilities. + +2007-03-19 Marek Habersack <mhabersack@novell.com> + + * WebConfigurationSettings.cs: another fix to the + GetConfigFromFileName logic - the passed "filepath" must not end + with a slash when called recursively, or it will lead to endless + recursion. + +2007-03-18 Marek Habersack <mhabersack@novell.com> + + * WebConfigurationSettings.cs: fix the GetConfigFromFileName + directory logic. + +2007-02-17 Gert Driesen <drieseng@users.sourceforge.net> + + * PagesConfiguration.cs: Stop swallowing configuration exceptions. + * PagesConfigurationHandler.cs: Provide better exception message for + invalid 'enableSessionState' value. + +2007-01-20 Miguel de Icaza <miguel@novell.com> + + * HandlerFactoryConfiguration.cs (LoadType): remove unused + variable. + (ctor): do not assign parent, we do not use it, keep the code for + reference. + +2007-01-18 Miguel de Icaza <miguel@novell.com> + + * HttpCapabilitiesBase.cs: Fix the build, I kept an old code path + for 1.0 + +2007-01-18 Konstantin Triger <kostat@mainsoft.com> + + * HttpCapabilitiesBase.cs: consider Page's ClientTarget for BrowseCaps. + +2006-08-15 Eyal Alalouf <eyala@mainsoft.com> + * WebConfigurationSettings.cs: Remove i#if TARGET_JVM since Grasshopper + supports Remtoing now. + +2006-07-06 Andrew Skiba <andrews@mainsoft.com> + + * HttpHandlersSectionHandler.cs: validate attribute can have 'true' and + 'false' case-insensitive in net 2.0 + +2006-06-28 Andrew Skiba <andrews@mainsoft.com> + + * ModulesConfiguration.cs: keep the inner exception + +2006-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HttpRuntimeConfigurationHandler.cs: removed a bunch of useless stuff + for 1.x. + +2006-02-28 Chris Toshok <toshok@ximian.com> + + * FormsAuthPasswordFormat.cs: ifdef out the [Serializable] in the + 2.0 case. + +2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompilationConfiguration.cs: + * CompilationConfigurationHandler.cs: only compile these for + pre-2.0 assemblies. + +2006-02-01 Chris Toshok <toshok@ximian.com> + + * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0. + + * CompilationConfigurationHandler.cs: same. + + * Compiler.cs: same. + + * CompilationConfiguration.cs: same. + +2006-01-08 Konstantin Triger <kostat@mainsoft.com> + + * HttpCapabilitiesBase.cs: TARGET_JVM changes to let the compilation + pass with csc 1.1. + +2005-12-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: patch by Cyrille Colin that sets the + right application path even when MapPath fails. Closes bug #77044. + +2005-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: don't fail if <location> has more + than one element. Fixes bug #76633. + +2005-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HttpHandlersSectionHandler.cs: + * HandlerFactoryConfiguration.cs: we need to use a copy of the parent + mappings, otherwise we may remove mappings from the parent. Fix a typo + when removing the item from the collection. Now LocateHandler searches + first for this configuration mappings and then for the parent ones. + Fixes (truly) bug #76842. + +2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HandlerFactoryConfiguration.cs: my previous patch broke the + * order in which handlers are searched. This one fixes that, + * while not breaking bug 76842 again. + +2005-11-30 Chris Toshok <toshok@ximian.com> + + * WebConfigurationSettings.cs (ReadSectionGroup): some + CONFIGURATION_2_0 work. + + * CompilationConfigurationHandler.cs (ReadCompilers): change the + NET_2_0 to CONFIGURATION_2_0. + + * CompilerCollection.cs: more ugly hacks for the + 2.0-without-config-2.0 case. wrap this in #if !CONFIGURATION_2_0 + and make it public in the NET_2_0 case (so it can be used to keep + the config 2.0 stuff building). + + * Compiler.cs: same. + + * CompilationConfiguration.cs (Init): change the #if NET_2_0 to + #if CONFIGURATION_2_0. + +2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HandlerFactoryConfiguration.cs: copy the parents' mappings + into the new one to allow for removing without affecting the + parent configuration mappings. Fixes bug #76842. + +2005-11-24 Chris Toshok <toshok@ximian.com> + + * AssemblyInfo.cs: nuke this, it's in System.Web.Configuration_2.0 + now. + +2005-11-19 Chris Toshok <toshok@ximian.com> + + * CompilationConfigurationHandler.cs (ReadCompilers): call + CompilerCollection.Add in the 2.0 case, as it doesn't expose a + setter indexer. + + * CompilationConfiguration.cs: need this to keep things compiling, + even though CompilationConfiguration doesn't need to be used in + the 2.0 case. + +2005-11-19 Chris Toshok <toshok@ximian.com> + + * Compiler.cs: wrap in #if !NET_2_0 and remove a lot of stubs that + now exist in System.Web.Configuration_2.0. + +2005-11-18 Chris Toshok <toshok@ximian.com> + + * CompilerCollection.cs: wrap in #if !NET_2_0, and remove a lot of + stubs that now exist in System.Web.Configuration_2.0. + +2005-10-31 Chris Toshok <toshok@ximian.com> + + * IRemoteWebConfigurationHostServer.cs: fix interface. + +2005-10-29 Atsushi Enomoto <atsushi@ximian.com> + + * GlobalizationConfigurationHandler.cs : we don't use ICU. + +2005-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HandlerFactoryConfiguration.cs: when using regex matching, pass the + original full virtual path, not just the file name. The regex matches + the end of the path. Fixes bug #76536. + +2005-10-08 Gert Driesen <drieseng@users.sourceforge.net> + + * WebConfigurationHost.cs: Added stubs for missing implementation + of IInternalConfigHost to fix build for 2.0 profile. + +2005-10-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ClientTargetSectionHandler.cs: New file. + +2005-09-23 Chris Toshok <toshok@ximian.com> + + * ExpressionBuilderCollection.cs: track change to + System.Configuration.ConfigurationPropertyOptions. + +2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * PagesConfiguration.cs: on error return a default instance instead + of null. + +2005-09-22 Chris Toshok <toshok@ximian.com> + + * PositiveTimeSpanValidator.cs: move this from + System.Configuration to here. + +2005-09-15 Sebastien Pouliot <sebastien@ximian.com> + + * CompilationConfiguration.cs: Return an empty configuration object if + no HttpContext is available. This is required for the unit tests and + match the results of MS 1.1 and 2.0 (beta2). + +2005-08-24 Sebastien Pouliot <sebastien@ximian.com> + + * AdapterDictionary.cs: Added missing IDeserializationCallback. + * AuthorizationRuleAction.cs: Fixed enum values. + * BuildProvider.cs: Class is sealed. Removed empty constructor. + * BuildProviderCollection.cs: Adapted to BuildProvider ctor changes. + * CodeSubDirectory.cs: Added missing constructor. + * CodeSubDirectoriesCollection.cs: Adapted to + CodeSubDirectoriesCollection ctor changes. + * CustomErrorsMode.cs: Fixed enum values. + * FormsAuthenticationConfiguration.cs: Class is sealed. + * HttpCapabilitiesBase.cs: Added security permissions with Minimal + level for AspNetHostingPermission (both Link and Inheritance demands). + * ProcessModelComAuthenticationLevel.cs: Fixed enum values. + * ProcessModelComImpersonationLevel.cs: Fixed enum values. + * ProcessModelLogLevel.cs: Fixed enum values. + * WebApplicationLevel.cs: New enum for 2.0. + +2005-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ModulesConfiguration.cs: LoadModules creates a HttpModuleCollection, + initializes the module instances and fills in the collection. + +2005-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ModulesConfiguration.cs: add Clone (ugly). + +2005-08-30 Miguel de Icaza <miguel@novell.com> + + * HttpCapabilitiesBase.cs: Make partial to pull the implementation + from another class. + +2005-08-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HandlerFactoryConfiguration.cs: fix path matching so that + /xxx/WebResource.axd works. If we're going to match using a regexp, + generate it in the constructor, not on every request. + +2005-08-25 Chris Toshok <toshok@ximian.com> + + * HandlerFactoryConfiguration.cs: implement the slow path for + PathMatches using Regex. Also, make the fast path for exact + matches faster (and more correct). + +2005-08-25 Chris Toshok <toshok@ximian.com> + + * HandlerFactoryConfiguration.cs: chain up to the parent + Configuration if we don't have a match, instead of adding the + parent's handlers to our list (and thereby overriding ours). + +2005-08-24 Sebastien Pouliot <sebastien@ximian.com> + + * AuthConfig.cs: Add new 2.0 stuff (required for Forms Authentication). + +2005-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * MachineKeyConfig.cs: we don't honor IsolateApp. + +2005-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * MachineKeyConfigHandler.cs: + * MachineKeyConfig.cs: removed unused property. The CryptoGod has spoken + and told me to use RandomNumberGenerator.Create to let the + implementation choose the generator. + +2005-07-25 Eyal Alalouf <eyala@mainsoft.com> + + * WebConfigurationSettings.cs: Fixed LoadFromFile to find web.config + under TARGET_J2EE (case sensitivity). + +2005-07-25 Eyal Alalouf <eyala@mainsoft.com> + + * WebConfigurationSettings.cs: TARGET_J2EE ifdef reorder for + readability. + +2005-07-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * MachineKeyConfigHandler.cs: removed unused code. Use + MachineKeyValidation. + * MachineKeyValidation.cs: made internal for 1.1 and added AES. + * MachineKeyConfig.cs: new property to return 24 bits needed for 3DES. + fix typo from last patch ('AutoGenerate'). Made the keys different when + both are autogenerated. + +2005-07-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * MachineKeyConfigHandler.cs: + * MachineKeyConfig.cs: patch from Miguel that moves code from + MachineKeyConfigHandler to MachineKeyConfig. + +2005-07-24 Eyal Alalouf <eyala@mainsoft.com> + + * WebConfigurationSettings.cs: TARGET_J2EE changes. static variables in + AppDomain. + +2005-07-19 Eyal Alalouf <eyala@mainsoft.com> + * WebConfigurationSettings.cs: Grasshopper doesn't support remoting and the FileSystemWatcher + +2005-07-01 Lluis Sanchez Gual <lluis@novell.com> + + * MembershipSection.cs: Implemented. + * SiteMapSection.cs: Define properties using attributes. + * AnonymousIdentificationSection.cs: Define properties using attributes. + * WebConfigurationManager.cs: return the correct base path for the + root path. + * IRemoteWebConfigurationHostServer.cs: Fixed method signatures. + * WebConfigurationHost.cs: Added the machine web.config to the web.config + file chain. Several fixes in the chain order. Implemented + IsDefinitionAllowed and VerifyDefinitionAllowed. + + * VirtualDirectoryMappingCollection.cs: + * WebConfigurationFileMap.cs: + * AdapterDictionary.cs: + * AuthenticationSection.cs: + * AssemblyCollection.cs: + * AssemblyInfo.cs: Minor api fixes. + +2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HandlerItem.cs: the path matches 'path\z', as the previous '\Apath\z' + failed for 'dir/*.ext'. + +2005-06-23 Lluis Sanchez Gual <lluis@novell.com> + + * VirtualDirectoryMapping.cs: Implemented. + * WebConfigurationManager.cs: Initial implementation. + * VirtualDirectoryMappingCollection.cs: Implemented. + * WebConfigurationFileMap.cs: Implemented. + * WebConfigurationHost.cs: Initial implementation of class + that supports IInternalConfigHost. + +2005-06-19 Ilya Kharmatsky <ilyak-at-mainsoft.com> + + * HttpRuntimeConfig.cs: Added TARGET_JVM directive in "using clause" + in order to exclude in J2EE configuration usage of unsupported + CodeDome API. + +2005-06-15 Lluis Sanchez Gual <lluis@novell.com> + + * CodeSubDirectory.cs: + * ExpressionBuilder.cs: + * AssemblyInfo.cs: + * BuildProviderCollection.cs: + * ExpressionBuilderCollection.cs: + * CodeSubDirectoriesCollection.cs: + * AnonymousIdentificationSection.cs: Track 2.0 api changes + in System.Configuration. + +2005-06-13 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * GlobalizationConfigurationHandler.cs: when an attribute is not + provided, don't assing Encoding.Default to it, as we might override + parent's settings. + +2005-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompilationConfiguration.cs: throw if we cannot load the type given + in the configuration file. + +2005-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompilerCollection.cs: added CompareLanguages method. + +2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompilationConfigurationHandler.cs: ensure TempDirectory is not empty + before assigning it. Don't mangle the assembly names provided. + + * CompilationConfiguration.cs: use DynamicBase as the temp directory + instead of Path.GetTempPath. + +2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ModuleItem.cs: + * GlobalizationConfigurationHandler.cs: + * WebConfigurationSettings.cs: + * CustomErrorsConfigHandler.cs: + * PagesConfigurationHandler.cs: + * WebControlsSectionHandler.cs: + * AuthorizationConfigHandler.cs: removed warnings. + +2005-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompilerCollection.cs: + * CompilationConfigurationHandler.cs: + * Compiler.cs: + * CompilationSection.cs: + * CompilationConfiguration.cs: reverted last patch and/or disable code + until the whole config system is migrated to 2.0. Fixes bug #73736. + +2005-03-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CodeSubDirectoriesCollection.cs: + * ExpressionBuilderCollection.cs: + * BuildProviderCollection.cs: + * CompilerCollection.cs: + * CompilationConfigurationHandler.cs: + * ExpressionBuilder.cs: + * Compiler.cs: + * CompilationSection.cs: + * CompilationConfiguration.cs: + * CodeSubDirectory.cs: added and implemented + most of these files that are used when reading configuration files in + NET_2_0. + + * WebCompiler.cs: renamed to Compiler.cs + +2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: correctly detect web.config changes. + +2004-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HandlerItem.cs: for reusable items, return the same instance always. + Fixes bug #69959. + + +2004-11-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * GlobalizationConfigurationHandler.cs: fixed stupid typo (uiculture -> + uiCulture). Closes bug #69524. + +2004-11-18 Lluis Sanchez Gual <lluis@novell.com> + + * AnonymousIdentificationSection.cs, AuthenticationSection.cs, + AssemblyInfo.cs: Initialize property collection. + * SiteMapSection.cs, SiteMapHierarchicalDataSourceView.cs, + SiteMapDataSource.cs: New file. + * SiteMapDataSourceView.cs: Minor fixes. + +2004-11-15 Lluis Sanchez Gual <lluis@novell.com> + + * AnonymousIdentificationSection.cs, InternalSection.cs, + AuthenticationSection.cs, AssemblyCollection.cs, AssemblyInfo.cs, + AdapterDictionary.cs: Implemented. + * PassportAuthentication.cs, FormsAuthenticationConfiguration.cs: + created classes. + +2004-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: use CurrentExecutionFilePath instead of + FilePath. Fixes bug #67982. + +2004-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: fix bug when processing empty location + tags. Closes bug #63001. + +2004-08-02 Duncan Mak <duncan@ximian.com> + + * AuthorizationRuleAction.cs: + * BuildProviderAppliesTo.cs: + * CustomErrorsMode.cs: + * MachineKeyValidation.cs: + * PagesEnableSessionState.cs: + * PagesToCountAction.cs: + * ProcessModelComAuthenticationLevel.cs: + * ProcessModelComImpersonationLevel.cs: + * ProcessModelLogLevel.cs; + * SerializationMode.cs: + * TraceDisplayMode.cs: Added enumerations. + + * IRemoteWebConfigarationHostServer.cs: Added interface. + +2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AuthorizationConfig.cs: really fix bug #60482. Thanks David! + +2004-06-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AuthorizationConfig.cs: we must match [verb +] (role|user). Fixes bug + #60482. + +2004-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: allow empty <configSections>. + +2004-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * GlobalizationConfigurationHandler.cs: if no culture given, use the + default one, not the invariant. + +2004-06-07 Alon Gazit <along@mainsoft.com> + + * HandlerFactoryConfiguration.cs: using cache to get performance + improvement. + + +2004-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HttpCapabilitiesBase.cs: set the useragent of the new + HttpBrowserCapabilities object. + +2004-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HttpCapabilitiesBase.cs: ClientTarget takes precedence over UserAgent. + +2004-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: when the virtual path is not /, don't + loop forever trying to read configuration from /. Fixes bug #59480. + +2004-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * GlobalizationConfiguration.cs: if we have no context, use + GetAppConfig instead of GetConfig. + +2004-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompilationConfiguration.cs: a null value is ok for TempDirectory. + +2004-05-12 Jaroslaw Kowalski <jaak@zd.com.pl> + + * AuthenticationConfigHandler.cs: fixed slidingExpiration and requireSSL + +2004-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: fixed loading of external files. Closes + bug #57244. + +2004-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: now it defaults to 'web.config' and if + not found, 'Web.config'. Don't throw exception if both exists. Thanks + to urs and dru for bugging me about this. + +2004-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: fixed argument exception if the directory + we're trying to watch does not exists. + +2004-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: modify realpath when we reach the + virtual root of the application. + +2004-04-12 Nick Drochak <ndrochak@gol.com> + + * WebConfigurationSettings.cs: Fix build. Forgot the '?' + +2004-04-12 Atsushi Enomoto <atsushi@ximian.com> + + * WebConfigurationSettings.cs : On Windows "Web.config" is "web.config". + +2004-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: "/" is the virtual root directory of + the application. This fixes a bug reported by Vlad that caused + configuration error because files were read twice when there's an + application different from "/" defined. + +2004-03-31 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: fixes bug 56267. + +2004-03-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: use FileSystemWatcher and really reload + configuration when the file is created or modified. + +2004-02-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: we were loading web.config from / always! + Thanks to Lluis for noticing this. + +2004-02-09 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: fix Web.config search for case + insensitive filesystems. + +2004-02-04 Lluis Sanchez Gual <lluis@ximian.com> + + * WebConfigurationSettings.cs: Load remoting configuration when reading + the web.config file. + +2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AuthConfig.cs: + * AuthenticationConfigHandler.cs: added RequireSSL and + SlidingExpiration. + + * HandlerFactoryProxy.cs: not public. + * HandlerItem.cs: not public. + +2004-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: fix location path lookup. Closes bug + #53072. + +2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.Configuration/GlobalizationConfiguration.cs: undo old fix. + + * System.Web.Configuration/PagesConfiguration.cs: + * System.Web.Configuration/PagesConfigurationHandler.cs: new files for + processing system.web/pages section. + +2004-01-10 Jackson Harper <jackson@ximian.com> + + * TraceConfig.cs: New class contains trace configuration data. + * TraceConfigurationHandler.cs: New class parses trace + configurations. + +2004-01-05 Jackson Harper <jackson@ximian.com> + + * HandlerItem.cs: Fix typo so slashes are stripped from paths properly. + +2003-12-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CustomErrorsConfigHandler.cs: handle <system.web><customErrors />.. + +2003-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HttpCapabilitiesBase.cs: use the new loader. + +2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationSettings.cs: also cache parents when building the + hierarchy up. Fixes bug #51818. + +2003-12-09 Jackson Harper <jackson@ximian.com> + + * GlobalizationConfigurationHander.cs: Make unicode encodings case + insensitive. + +2003-12-08 Jackson Harper <jackson@ximian.com> + + * GlobalizationConfigurationHandler.cs: Handle creating some the unicode + encodings here so we can create ones without BOMs. + +2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * GlobalizationConfiguration.cs: return null when the configuration is + not available. + + * WebConfigurationSettings.cs: handle configuration for System.Web. It + replaces the default IConfigurationSystem with itself and handles + web.config files oddities. + +2003-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompilationConfiguration.cs: don't throw an HttpException. + * HttpRuntimeConfig.cs: + * HttpRuntimeConfigurationHandler.cs: handle system.web/httpRuntime + configuration section. + +2003-11-10 Jackson Harper <jackson@ximian.com> + + * CompilationConfigurationHandler.cs: Append .dll to shortened + assembly names. + +2003-11-08 Jackson Harper <jackson@ximian.com> + + * CompilationConfigurationHandler.cs: Trim extra versioning + information off of assembly names. This is a workaround that fixes + bug #50355. + +2003-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * GlobalizationConfiguration.cs: added GetInstance method. + + * GlobalizationConfigurationHandler.cs: warn about unsupported encodings + and provide reasonable defaults. + +2003-10-17 Ben Maurer <bmaurer@users.sourceforge.net> + + * CompilationConfiguration.cs (Init): you have to inherit copying + files from the bin folders too. + +2003-10-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompilationConfiguration.cs: use the context passed in. If not, try + the current context. + +2003-10-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompilationConfiguration.cs: + * CompilationConfigurationHandler.cs: + * CompilerCollection.cs: + * WebCompiler.cs: new files that process and store + system.web/compilation info (compilers + assemblies). + + * HttpHandlersSectionHandler.cs: added option for an attribute to be + empty. + +2003-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebControlsSectionHandler.cs: new file to handle <webControls> + configuration. + +2003-10-01 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HandlerItem.cs: make it work for file names without wildcards. + +2003-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ModuleItem.cs: it's not public. + * ModulesConfiguration.cs: it's not public. + +2003-02-27 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AuthenticationConfigHandler.cs: 'name' is optional in <forms>. + +2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HandlerFactoryConfiguration.cs: first search in the mappings of this + instance, then in the parent. + +2003-02-13 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * GlobalizationConfiguration.cs: added internal fields to hold the + values in the globalization node. + + * GlobalizationConfigurationHandler.cs: handler to load + <system.web/globalization> section. + +2003-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AuthorizationConfigHandler.cs: handler for system.web/authorization + section. + + * AuthorizationConfig.cs: keeps record of authorization configuration. + +2003-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HttpModulesConfigurationHandler.cs: add a default authentication + module at the end of the list. + + * ModuleItem.cs: new constructor. + +2002-12-19 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AuthConfig.cs: LoginUrl defaults to login.aspx. + +2002-12-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AuthConfig.cs: + * AuthenticationConfigHandler.cs: handler and helper class for + system.web/authentication configuration section. + + * HttpHandlersSectionHandler.cs: check for null in attributes. + + * MachineKeyConfig.cs: + * MachineKeyConfigHandler.cs: handler and helper class for + system.web/machineKey tag. + +2002-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HttpHandlersSectionHandler.cs: more null checks. + +2002-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HttpHandlersSectionHandler.cs: made a couple of static methods be + part of a class used in other handlers. + * HttpModulesConfigurationHandler.cs: handler for modules. + * ModuleItem.cs: added IsMatch method. + * ModulesConfiguration.cs: made it similar to the handlers class: added Clear, Remove. + +2002-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HttpHandlerTypeMapper.cs: removed. + * HandlerFactoryConfiguration.cs: readded. I removed it by mistake. + * HandlerItem.cs: only load the type if we gotta validate it. + Implemented initial IsMatch. + * HttpConfigurationContext.cs: New file. + * HttpHandlersSectionHandler.cs: validate is optional (default true). + Use HttpHandlerTypeMapper. + +2002-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.Configuration/HandlerFactoryConfiguration.cs: removed. + + * System.Web.Configuration/HandlerItem.cs: added validation field. + + * System.Web.Configuration/HttpHandlerTypeMapper.cs: holds mappings + between verbs and wilcards and their associated HandlerItem. + + * System.Web.Configuration/HttpHandlersSectionHandler.cs: this one + processes system.web/httpHandlers section of machine.config file. + +2002-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AuthenticationMode.cs: + * ClientTargetSectionHandler.cs: + * FormsAuthPasswordFormat.cs: + * FormsProtectionEnum.cs: + * HttpCapabilitiesBase.cs: fixes base on class status page. + +2002-08-05 Patrik Torstensson <ptorsten@hotmail.com> + + * HandlerFactoryConfiguration.cs, + HandlerFactoryProxy.cs, + HandlerItem.cs : New files to emulate HttpHandler configuration + + * ModuleItem.cs, + ModulesConfiguration.cs : New files to emulate HttpModule configuration + +2002-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.Configuration/HttpCapabilitiesBase.cs: New file. + diff --git a/mcs/class/System.Web/System.Web.Configuration/PagesConfiguration.cs b/mcs/class/System.Web/System.Web.Configuration/PagesConfiguration.cs new file mode 100644 index 00000000000..8066b177b23 --- /dev/null +++ b/mcs/class/System.Web/System.Web.Configuration/PagesConfiguration.cs @@ -0,0 +1,72 @@ +// +// System.Web.Configuration.PagesConfiguration +// +// Authors: +// Gonzalo Paniagua Javier (gonzalo@ximian.com) +// +// (c) 2003 Ximian, Inc. (http://www.ximian.com) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Globalization; +using System.Text; + +namespace System.Web.Configuration +{ + class PagesConfiguration + { + internal bool Buffer = true; + internal string EnableSessionState = "true"; + internal bool EnableViewState = true; + internal bool EnableViewStateMac = false; + internal bool SmartNavigation = false; + internal bool AutoEventWireup = true; + internal bool ValidateRequest = true; + internal string PageBaseType = "System.Web.UI.Page"; + internal string UserControlBaseType = "System.Web.UI.UserControl"; + + internal PagesConfiguration (object p) + { + if (!(p is PagesConfiguration)) + return; + + PagesConfiguration parent = (PagesConfiguration) p; + Buffer = parent.Buffer; + EnableSessionState = parent.EnableSessionState; + EnableViewState = parent.EnableViewState; + EnableViewStateMac = parent.EnableViewStateMac; + SmartNavigation = parent.SmartNavigation; + AutoEventWireup = parent.AutoEventWireup; + ValidateRequest = parent.ValidateRequest; + PageBaseType = parent.PageBaseType; + UserControlBaseType = parent.UserControlBaseType; + } + + static public PagesConfiguration GetInstance (HttpContext context) + { + if (context == null) + context = HttpContext.Current; + return context.GetConfig ("system.web/pages") as PagesConfiguration; + } + } +} diff --git a/mcs/class/System.Web/System.Web.Configuration/PagesConfigurationHandler.cs b/mcs/class/System.Web/System.Web.Configuration/PagesConfigurationHandler.cs new file mode 100644 index 00000000000..e517c981e69 --- /dev/null +++ b/mcs/class/System.Web/System.Web.Configuration/PagesConfigurationHandler.cs @@ -0,0 +1,121 @@ +// +// System.Web.Configuration.PagesConfigurationHandler +// +// Authors: +// Gonzalo Paniagua Javier (gonzalo@ximian.com) +// +// (C) 2004 Novell, Inc (http://www.novel.com) +// + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Configuration; +using System.Xml; + +namespace System.Web.Configuration +{ + class PagesConfigurationHandler : IConfigurationSectionHandler + { + public object Create (object parent, object configContext, XmlNode section) + { + PagesConfiguration config = new PagesConfiguration (parent); + + if (section.HasChildNodes) + HandlersUtil.ThrowException ("No child nodes allowed here.", section); + + string attvalue = AttValue ("buffer", section); + if (attvalue != null) + config.Buffer = GetBool ("buffer", attvalue, section); + + attvalue = AttValue ("enableSessionState", section); + if (attvalue != null) { + if (attvalue != "true" && attvalue != "false" && attvalue != "ReadOnly") + HandlersUtil.ThrowException ("The 'enableSessionState' attribute" + + " is case sensitive and must be one of the following values:" + + " false, true, ReadOnly.", section); + config.EnableSessionState = attvalue; + } + + attvalue = AttValue ("enableViewState", section); + if (attvalue != null) + config.EnableViewState = GetBool ("enableViewState", attvalue, section); + + attvalue = AttValue ("enableViewStateMac", section); + if (attvalue != null) + config.EnableViewStateMac = GetBool ("enableViewStateMac", attvalue, section); + + attvalue = AttValue ("smartNavigation", section); + if (attvalue != null) + config.SmartNavigation = GetBool ("smartNavigation", attvalue, section); + + attvalue = AttValue ("autoEventWireup", section); + if (attvalue != null) + config.AutoEventWireup = GetBool ("autoEventWireup", attvalue, section); + + attvalue = AttValue ("validateRequest", section); + if (attvalue != null) + config.ValidateRequest = GetBool ("validateRequest", attvalue, section); + + attvalue = AttValue ("pageBaseType", section); + if (attvalue != null) { + string v = attvalue.Trim (); + if (v.Length == 0) + HandlersUtil.ThrowException ("pageBaseType is empty.", section); + + config.PageBaseType = v; + } + + attvalue = AttValue ("userControlBaseType", section); + if (attvalue != null) { + string v = attvalue.Trim (); + if (v.Length == 0) + HandlersUtil.ThrowException ("userControlBaseType is empty.", section); + + config.UserControlBaseType = v; + } + + if (section.Attributes == null || section.Attributes.Count != 0) + HandlersUtil.ThrowException ("Unknown attribute(s).", section); + + return config; + } + + static bool GetBool (string name, string value, XmlNode section) + { + if (value == "true") + return true; + + if (value != "false") + HandlersUtil.ThrowException ("Invalid boolean value for '" + name + "'", section); + + return false; + } + + // A few methods to save some typing + static string AttValue (string name, XmlNode node) + { + return HandlersUtil.ExtractAttributeValue (name, node, true); + } + // + } +} + diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog b/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog new file mode 100644 index 00000000000..ea7c1c1a72f --- /dev/null +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog @@ -0,0 +1,1162 @@ +2007-07-16 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ProfileGroupSettingsCollection.cs: added ResetInternal internal + method + * RootProfilePropertySettingsCollection.cs: added Reset method + override to reset GroupSettings collection + +2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com> + + * HttpHandlerAction.cs: fixed SplitPaths property to be thread safe + +2007-06-12 Vladimir Krasnov <vladimirk@mainsoft.com> + + * CompilationSection.cs: TARGET_JVM on not supported features + * HttpModulesSection.cs: ctor should be static + +2007-06-03 Adar Wesley <adarw@mainsoft.com> + + * ProfilePropertySettingsCollection.cs: added missing method + OnDeserializeUnrecognizedElement. + +2007-05-30 Marek Habersack <mhabersack@novell.com> + + * WebConfigurationManager.cs: if errors happen when opening the + configuration file, mark the manager as unsafe to prevent further + usage and avoid error loops. + +2007-05-17 Igor Zelmanovich <igorz@mainsoft.com> + + * WebConfigurationHost.cs: for TARGET_J2EE only: + prevent NullRefference Exception. + +2007-05-15 Igor Zelmanovich <igorz@mainsoft.com> + + * WebConfigurationManager.cs: + make configurations hashtable case-insensitive. + * WebConfigurationHost.cs: for TARGET_J2EE only: + GetStreamName returns file path in right case, that make it works + on case-sensitive file system. + +2007-05-15 Marek Habersack <mhabersack@novell.com> + + * BuildProviderCollection.cs: refactoring - use + HttpApplication.LoadType to actually look up the type. + + * HttpHandlerAction.cs: as above + + * WebConfigurationHost.cs: refactoring - moved the LoadType to + HttpApplication to share the code between 1.1 and 2.0 profiles. + +2007-05-14 Marek Habersack <mhabersack@novell.com> + + * UrlMappingCollection.cs: implemented the Item (string) indexer. + + * UrlMapping.cs: implemented the URL validation callback body + (doesn't work at the moment). + +2007-05-14 Igor Zelmanovich <igorz@mainsoft.com> + + * WebConfigurationManager.cs: + make configurations synchronized. + added new internal method RemoveConfigurationFromCache. + +2007-05-07 Marek Habersack <mhabersack@novell.com> + + * PagesSection.cs: buffering is on by default. + +2007-04-24 Marek Habersack <mhabersack@novell.com> + + * WebConfigurationHost.cs: wrap MapPath calls in try/catch, + because bad URLs can cause it to throw exceptions. If such + exception is caught, throw a HttpException for Bad Request (400). + Look for types in the top-level assemblies (App_Code and + friends). + + * WebConfigurationManager.cs: added two internal methods for safe + retrieval of config sections. + +2007-04-19 Marek Habersack <mhabersack@novell.com> + + * HttpHandlerAction.cs: look up types in all the toplevel + assemblies. Fixes bug #80897. + +2007-04-17 Atsushi Enomoto <atsushi@ximian.com> + + * ProcessModelSection.cs : cpuMask default value should be int, + not uint. + +2007-04-06 Marek Habersack <mhabersack@novell.com> + + * CustomErrorsSection.cs: make the customErrors section work. + + * PagesSection.cs: provide appropriate default value for the + asyncTimeout setting. + +2007-03-24 Marek Habersack <mhabersack@novell.com> + + * WebConfigurationHost.cs: allow MachineToApplication definition + for config paths that equal the domain virtual app directory. + +2007-03-22 Adar Wesley <adarw@mainsoft.com> + + * HttpCapabilitiesBase.cs: implemented all capabilities. Capabilities + still throw if there is no value in browscaps.ini and the property is called. + +2007-03-21 Vladimir Krasnov <vladimirk@mainsoft.com> + + * WebConfigurationManager.cs: fixed OpenWebConfiguration, should not + lock when checking if configuration is already open + +2007-03-15 Vladimir Krasnov <vladimirk@mainsoft.com> + + * WebConfigurationManager.cs: fixed OpenWebConfiguration, removed + GetBasePath call and locations search, since this not affects + configuration initialization, but improves performance + +2007-03-12 Marek Habersack <mhabersack@novell.com> + + * ProvidersHelper.cs: support loading custom providers from + App_Code assemblies. Fixes bug #81071. + Also set eol-style to native. + +2007-03-08 Gert Driesen <drieseng@users.souceforge.net> + + * PagesSection.cs: Revert part of Adar's patch that regresses + bug #80913. + +2007-03-06 Adar Wesley <adarw@mainsoft.com> + + * PagesSection.cs: improve Enum parsing and strongly typed default values. + +2007-02-20 Marek Habersack <grendello@gmail.com> + + * Patch from Gert Driesen <drieseng@users.sourceforge.net> + * PagesSection.cs: Process value of EnableSessionState attribute + case-sensitive, and perform check in getter. Fix for bug #80913. + * PageParser.cs: Added note on difference in behaviour between page + level attribute and configuration attribute for enableSessionState. + * PagesConfiguration.cs: Fixed compiler warning. + +2007-02-22 Marek Habersack <grendello@gmail.com> + + * CompilerCollection.cs: Optimize language lookup a bit. + +2007-02-05 Konstantin Triger <kostat@mainsoft.com> + + * TagPrefixCollection.cs: Fix element key creation. + +2007-02-04 Konstantin Triger <kostat@mainsoft.com> + + * NamespaceInfo.cs, HttpModuleAction.cs, RoleManagerSection.cs: + fix the default value. + +2007-02-02 Marek Habersack <grendello@gmail.com> + + * TagPrefixCollection.cs: Add the CollectionType parameter. + Get rid of unnecessary interface references in the class declaration. + GetElementKey should return Source which should be unique, unlike TagPrefix. + +2007-01-04 Konstantin Triger <kostat@mainsoft.com> + + * ProfileSection.cs: Ensure enabled = true by default; cleanup. + +2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com> + + * CustomErrorCollection.cs: fixed ThrowOnDuplicate to false as in .net + +2006-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * GlobalizationSection.cs: make encodings actually work for the 2.0 + profile. + +2006-12-21 Marek Habersack <grendello@gmail.com> + + * TagMapInfo.cs: Add an internal default constructor for use from + TagMapCollection. + + * TagMapCollection.cs: Don't call the string,string constructor of + TagMapInfo - the class disallows empty strings as values of its + properties. + +2006-12-21 Vladimir Krasnov <vladimirk@mainsoft.com> + + * RoleManagerSection.cs: refactored using attributes + +2006-12-20 Marek Habersack <grendello@gmail.com> + + * ProfilePropertyNameValidator.cs: added a few checks. + +2006-12-18 Vladimir Krasnov <vladimirk@mainsoft.com> + + * WebConfigurationManager.cs: fixed GetSection to execute + GetRuntimeObject, refactored GetSection and GetWebApplicationSection + +2006-12-17 Vladimir Krasnov <vladimirk@mainsoft.com> + + * HttpHandlerAction.cs: fixed 'verb' config property + +2006-12-07 Igor Zelmanovich <igorz@mainsoft.com> + + * ProvidersHelper.cs: fixed: load assembles from /bin + +2006-11-22 Miguel de Icaza <miguel@novell.com> + + * SessionStateSection.cs: Do not call Enum.Parse with a null + argument, prevents an exception from being thrown. + +2006-11-20 Marek Habersack <grendello@gmail.com> + + * GlobalizationSection.cs: Added support for "auto" cultures and + the "auto:DEFAULT_CULTURE" cultures. + +2006-11-13 Konstantin Triger <kostat@mainsoft.com> + + * WebConfigurationHost.cs: use Type.GetType for loading full qualified types. + +2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ProfileGroupSettings.cs, ProfileGroupSettingsCollection.cs + ProfilePropertySettingsCollection.cs, ProfileSection.cs + RootProfilePropertySettingsCollection.cs: refactoring and fix of + <group> element + +2006-10-18 Marek Habersack <grendello@gmail.com> + + * WebConfigurationManager.cs: implement support for extra + assemblies to be referenced when compiling a page. + +2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebConfigurationManager.cs: add null checks. Patch by Marek Habersack + that fixes bug #79283. + +2006-09-06 Konstantin Triger <kostat@mainsoft.com> + + * WebConfigurationHost.cs: do not recourse as this will be done by + Configuration object. + +2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com> + + * WebConfigurationManager.cs: added configSystem property under + TARGET_JVM part + * WebConfigurationHost.cs: fixed GetStreamName and OpenStreamForRead + for TARGET_JVM + * CompilationSection.cs: BuildProviders property removed from + TARGET_JVM + * SystemWebSectionGroup.cs: Compilation property removed from + TARGET_JVM + +2006-06-26 Atsushi Enomoto <atsushi@ximian.com> + + * NullableStringValidator.cs : new internal class that is almost + identical to StringValidator but allows null value. + * PropertyHelper.cs : use new NullableStringValidator. + * NamespaceCollection.cs : in NamespaceInfo "" is not allowed. + +2006-06-08 Chris Toshok <toshok@ximian.com> + + * WebConfigurationHost.cs (InitForConfiguration): i know this is + going to bite me in the ass, but guard against configPath being == + to "/", since this will result in an infinite loop. + (MapPath): fix a NRE. + +2006-05-18 Atsushi Enomoto <atsushi@ximian.com> + + * WebConfigurationManager.cs: recent sys.config.dll changes on + ConfigurationManager.GetSection() which should call + GetRuntimeObject() should also apply here. Fixed monodoc web. + +2006-05-10 Andrew Skiba <andrews@mainsoft.com> + + * HttpHandlerAction.cs: keep the internal exception + +2006-05-08 Chris Toshok <toshok@ximian.com> + + * WebConfigurationManager.cs (GetBasePath): fix bug where + path.Length was 0 when we got to the last while loop (and indexed + -1 into an array.) Thanks Marek for the fix. + +2006-05-04 Chris Toshok <toshok@ximian.com> + + [ Fixes bug #78256 ] + + * WebConfigurationHost.cs (GetConfigType): add a MonoTODO about + how we should use the build provider machinery to get types. + (MapPath): add rudimentary mapping in the case where we don't have + a request, basically handle the case where the url begins with (or + is) HttpRuntime.AppDomainAppVirtualPath. + + * WebConfigurationManager.cs (GetSection): if we don't have a + valid request, open the web configuration corresponding to + HttpRuntime.AppDomainAppVirtualPath. + (GetBasePath): comment this a little, and make it work in the case + where we don't have an HttpRequest. + +2006-04-27 Chris Toshok <toshok@ximian.com> + + * AuthorizationRuleCollection.cs (ThrowOnDuplicate): for the time + being introduce a overridden property MS doesn't make use of. + This needs readdressing, but it should get people making use of + <authorization> rules working again. + +2006-04-25 Chris Toshok <toshok@ximian.com> + + * AuthorizationRule.cs (Reset): finally figure out what this + method is supposed to do. Assign our Action property based on + parentElement's. + +2006-04-25 Chris Toshok <toshok@ximian.com> + + * WebConfigurationHost.cs (InitForConfiguration): actually, use + HttpRuntime.AppDomainAppVirtualPath on gonzalo's recommendation. + It's never null, and its use cleans things up a bit. + +2006-04-25 Chris Toshok <toshok@ximian.com> + + * WebConfigurationHost.cs (InitForConfiguration): stop going up + the virtual hierarchy once we reach the application's base virtual + path. + +2006-04-24 Chris Toshok <toshok@ximian.com> + + * AuthorizationSection.cs (IsValidUser): fix a problem that + surfaced when converting from the 1.1 to 2.0 config classes. Only + check for verb match if there are actually verbs to match against. + +2006-04-11 Chris Toshok <toshok@ximian.com> + + * ExpressionBuilderCollection.cs (CreateNewElement): call argless + ctor. + + * ExpressionBuilder.cs: add internal argumentless ctor for use by + the collection type. + +2006-03-24 Chris Toshok <toshok@ximian.com> + + * WebConfigurationManager.cs (GetConfig): add a fallback case for + configuration sections that don't subclass from + ConfigurationSection. + +2006-03-24 Chris Toshok <toshok@ximian.com> + + * WebConfigurationHost.cs: fix bug where OpenWebConfiguration + ("/") would result in 2 configurations for that toplevel path to + be opened. + +2006-03-08 Chris Toshok <toshok@ximian.com> + + * ProvidersHelper.cs: implement this static class properly. + + * SiteMapSection.cs (ProvidersInternal): add internal property to + get the actual SiteMapProviderCollection from here. + +2006-02-28 Chris Toshok <toshok@ximian.com> + + * BuildProviderAppliesTo.cs, PagesToCountAction.cs: nuke. + +2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Compiler.cs: + * CompilerCollection.cs: removed compatibility code. + + * BuildProviderCollection.cs: add GetProviderForExtension(). + +2006-02-02 Chris Toshok <toshok@ximian.com> + + * WebConfigurationManager.cs (GetSection(string,string)): + implement. + +2006-02-01 Atsushi Enomoto <atsushi@ximian.com> + + * TrustLevelCollection.cs, CodeSubDirectoriesCollection.cs, + CustomErrorCollection.cs, CompilerCollection.cs, + HttpHandlerActionCollection.cs, + FormsAuthenticationUserCollection.cs, + AuthorizationRuleCollection.cs, TagPrefixCollection.cs : + CollectionType is public. + +2006-02-01 Chris Toshok <toshok@ximian.com> + + * WebConfigurationManager.cs: In the normal case, get the current + request's web.config, not the application's. If there is no + current request, get the application's. + (GetWebApplicationConfiguration): use Request.ApplicationPath, not + Request.PhysicalApplicationPath. OpenWebConfiguration takes + virtual paths. + + * HttpConfigurationSystem.cs: GetWebApplicationSection => + GetSection. + +2006-02-01 Chris Toshok <toshok@ximian.com> + + * CompilerCollection.cs: CONFIGURATION_2_0 => NET_2_0 + + * Compiler.cs: same. + +2006-02-01 Chris Toshok <toshok@ximian.com> + + * HttpConfigurationSystem.cs: SupportsUserConfig == true. let's + use this to determine if ConfigurationManager.AppSettings should + be read-only or not. + +2006-01-31 Chris Toshok <toshok@ximian.com> + + * WebConfigurationManager.cs: err, why did i ifdef stuff NET_2_0 + inside of an ifdef NET_2_0? + +2006-01-30 Chris Toshok <toshok@ximian.com> + + * WebConfigurationManager.cs: lots of little changes. hopefully + this doesn't break anyone. it fixes all the nunit problems + gonzalo was having. + + * WebConfigurationHost.cs (GetStreamName): in the MachineWebPath + case, handle the case where we have a WebConfigurationFileMap. + (MapPath): this is likely wrong, but in the case where we don't + have a file map or current HttpContext, just return the path. + +2006-01-29 Chris Toshok <toshok@ximian.com> + + * HttpModulesSection.cs (LoadModules): I'm not sure we want to + solve this problem in this way, but the 1.x code forces + DefaultAuthenticationModule to be in the list of modules.. + Without this fix (or something else) HttpContext.User is null when + it shouldn't be. + +2006-01-26 Chris Toshok <toshok@ximian.com> + + * HttpConfigurationSystem.cs: new class that gets sections from + web.config files. + + * WebConfigurationManager.cs: change a lot of the + NotImplementedExceptions to NotSupportedExceptions. + (AppSettings): implement by just returning + ConfigurationManager.AppSettings (note this is broken because + ConfigurationManager.AppSettings are read-only, but it works for + reading.) + (ConnectionStrings): same (and probably broken in the same way..) + (Init): replace the 2.0 IInternalConfigSystem with our + HttpConfigurationSystem. + + * WebConfigurationHost.cs: add a comment about how things are + likely to work in the face of IRemoteWebConfigurationHostServer. + (CreateConfigurationContext): return a WebContext instance. + +2006-01-25 Chris Toshok <toshok@ximian.com> + + * AuthorizationSection.cs (IsValidUser): instead of a blanket + false for a null user, just set the username to "" and short + circuit out the check for roles. + +2006-01-25 Chris Toshok <toshok@ximian.com> + + * AuthorizationRule.cs (CheckUser): handle * and ?, and use + String.Compare instead of ==. + (CheckVerb): use String.Compare instead of ==. + + * AuthorizationSection.cs (IsValidUser): return false for a null + user. + +2006-01-22 Chris Toshok <toshok@ximian.com> + + * GlobalizationSection.cs (VerifyData): quiet mcs. + +2006-01-18 Chris Toshok <toshok@ximian.com> + + * SystemWebSectionGroup.cs: wrap System.Web.Services references in + WEBSERVICES_DEP. + +2006-01-16 Chris Toshok <toshok@ximian.com> + + * WebConfigurationManager.cs: implement a IConfigurationSystem for + use with WebConfigurationManager. + (GetSection): try to load the section + using GetWebApplicationSection before calling into + ConfigurationManager.GetSection. + (GetWebApplicationConfiguration): move common code to here. + (GetWebApplicationSection): use GetWebApplicationConfiguration. + (AppSettings): implement. + + * WebConfigurationHost.cs (GetWebConfigFileName): add + "Web.Config", and move to an array/loop implementation. maybe we + should scan the directory and check ToLower() instead of + explicitly enumerating? + +2006-01-10 Chris Toshok <toshok@ximian.com> + + * SystemWebSectionGroup.cs (HostingEnvironment): enable this property. + (ProcessModel): add the ConfigurationPropertyAttribute. + +2006-01-10 Chris Toshok <toshok@ximian.com> + + * PagesSection.cs (.cctor): fix the default value for the + enableSessionState attribute - it's not a bool, but a + PagesEnableSessionState enum. + +2006-01-10 Chris Toshok <toshok@ximian.com> + + * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes, + DecryptionKey192Bits): if the keys are null, generate them. Fixes + Page.EnableViewStateMac support. + +2006-01-09 Chris Toshok <toshok@ximian.com> + + * RoleManagerSection.cs, SqlCacheDepencendySection.cs, + SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs, + PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix + dumper output. + +2006-01-09 Chris Toshok <toshok@ximian.com> + + * ExpressionBuilderCollection.cs (.cctor): no need to create a + collection property here. we're already in the collection. + + * CompilationSection.cs: fix typo. + +2006-01-04 Chris Toshok <toshok@ximian.com> + + * MachineKeySection.cs: bring over some more internal methods from + MachineKeyConfig, and call Set{Decryption,Validation}Key from + their respective property setters. + +2006-01-03 Chris Toshok <toshok@ximian.com> + + * AuthorizationSection.cs (IsValidUser): add analogous method from + AuthorizationConfig.cs. + + * AuthorizationRule.cs: add predicates for Verb, User, and Role + analogous to what existed in AuthorizationConfig.cs. + +2005-12-11 Chris Toshok <toshok@ximian.com> + + * WebConfigurationManager.cs (OpenMachineConfiguration): just call + ConfigurationManager.OpenMachineConfiguration. + (OpenWebConfiguration): remove the "IntPtr userToken" version and + add a "string userName" version to clean up corcompare output. + Modify all the overloads to pass null instead of IntPtr.Zero. + (GetWebApplicationSection): if we're not running in a web + application, use the machine configuration. + +2005-12-06 Chris Toshok <toshok@ximian.com> + + * CodeSubDirectory.cs (DirectoryName): don't use an private field, + but base[directoyNameProp]. + + * AuthorizationRuleCollection.cs (Add): use BaseAdd (rule, false), + so we can insert duplicates. + (GetKey): nuke. + (GetElementKey): MS for some reason just uses the action for the + key, ToString()'ed. + (Remove): pass the correct key. + + * ProfileGroupSettings.cs (GetHashCode): implement. + + * GlobalizationSection.cs (GetEncoding): for the utf-8 case, just + use Encoding.UTF8. + + * AssemblyCollection.cs (Add): use BaseAdd (info, false) so we can + insert duplicates. + + * CacheSection.cs (.cctor): make privateByteLimit's default 0L so + we don't get a invalid cast exception later on. + + * AuthorizationRule.cs (VerifyData): split out the verification + foo from PreSerialize. + (PostDeserialize): so we can call it from here. + (PreSerialize): and here. + +2005-12-05 Chris Toshok <toshok@ximian.com> + + * AuthorizationRuleCollection.cs (GetKey): split out the logic for + creating a key from a rule here. + (GetElementKey): use it here. + (Remove): and here. + +2005-12-04 Chris Toshok <toshok@ximian.com> + + * UrlMapping.cs: add an internal argument-less ctor. + + * UrlMappingCollection.cs (CreateNewElement): use argument-less + ctor. + (GetKey): implement. + (AllKeys): implement. + + * TrustLevel.cs: add an internal argument-less ctor. + + * TrustLevelCollection.cs (Set): implement. + (CreateNewElement): use argument-less ctor. + (IsElementName): implement. + (ElementName): implement. + (set_Item (int index)): use Set. + (ThrowOnDuplicate): implement. + + * TagPrefixInfo.cs: add internal argument-less ctor. + + * TagPrefixCollection.cs (CreateNewElement): call argument-less + ctor. + (CollectionType): add text to TODO. + (ElementName): implement. + + * SqlCacheDependencyDatabaseCollection.cs (Set): implement. + (AllKeys): implement. + + * RuleSettings.cs: add internal argument-less ctor. + + * RuleSettingsCollection.cs (Contains): implement. + (CreateNewElement): use argument-less ctor. + (IndexOf): implement. + (Insert): implement. + + * RootProfilePropertySettingsCollection.cs (IsModified): chain up + to base.IsModified for now. + (Reset): chain up to base.Reset for now. + (ResetModified): chain up to base.ResetModified for now. + + * ProfileSettings.cs: add internal argument-less ctor. + + * ProfileSettingsCollection.cs (Contains): implement. + (CreateNewElement): use argument-less ctor. + (IndexOf): implement. + (Insert): implement. + + * ProfilePropertySettingsCollection.cs (IndexOf): implement. + (Set): implement. + (AllKeys): implement. + + * ProfileGroupSettings.cs: add internal argument-less ctor. + + * ProfileGroupSettingsCollection.cs (CreateNewElement): use + parameter-less ctor. + (GetKey): implement. + (ResetModified): for now call base.ResetModified. + (Set): implement. + (AllKeys): implement. + + * OutputCacheProfile.cs: add internal argument-less ctor. + + * OutputCacheProfileCollection.cs (CreateNewElement): use + parameter-less ctor. + (Set): implement. + (AllKeys): implement. + + * HttpModuleActionCollection.cs (Add): remove MonoTODO. + (CreateNewElement): same. + + * HttpHandlerActionCollection.cs (GetElementKey): build up the key + from both the path and the verb. + (Remove): same. + + * FormsAuthenticationUserCollection.cs (Set): implement. + (AllKeys): implement. + + * EventMappingSettings.cs: add an internal argument-less ctor. + + * EventMappingSettingsCollection.cs (Contains): implement. + (CreateNewElement): use argument-less ctor. + (IndexOf): implement. + (Insert): implement. + + * CompilerCollection.cs (GetKey): implement. + (AllKeys): implement. + + * ClientTargetCollection.cs (GetKey): implement. + (AllKeys): implement. + + * AuthorizationRuleCollection.cs (Set): implement. + (ElementName): add some text to the MonoTODO. + (set_Item (int index)): use Set. + +2005-12-04 Chris Toshok <toshok@ximian.com> + + * CustomError.cs: add an internal argument-less ctor for use by + the collection. + + * CustomErrorCollection.cs: implement all the MonoTODO's. + +2005-12-02 Chris Toshok <toshok@ximian.com> + + * GlobalizationSection.cs (VerifyData): split out the stuff that + used to live in PreSerialize here. + (PreSerialize): call VerifyData here. + (PostDeserialize): and here. + +2005-12-01 Chris Toshok <toshok@ximian.com> + + * GlobalizationSection.cs (PreSerialize): add checks for Culture + and UICulture properties. + +2005-12-01 Chris Toshok <toshok@ximian.com> + + * AuthorizationRule.cs (..ctor): provide default values for + roles/users/verbs here. Not sure if we should do this in the ctor + or if the System.Configuration infrastructure should.. time will + tell. + (PreSerialize): throw if Roles.Count and Users.Count == 0. + (SerializeElement): write out the element here. don't chain up to + the base class since that has differing behavior than what we + want. + +2005-11-30 Chris Toshok <toshok@ximian.com> + + * CompilerCollection.cs: ugly hack to fix the + 2.0-without-config-2.0 case. wrap this file in #if + CONFIGURATION_2_0 as well as #if NET_2_0. + + * Compiler.cs: same. + +2005-11-28 Chris Toshok <toshok@ximian.com> + + * SessionStateSection.cs (CookieLess): correct the compat function + implementation. + +2005-11-28 Chris Toshok <toshok@ximian.com> + + * GlobalizationSection.cs (GetEncoding): if the encoding name is + null, default to utf-8 before we hit the try block, so we don't + throw and generate a spurious warning. + + * SessionStateSection.cs: The Cookieless handling needs a custom + parser, it appears, as the converter is a StringConverter, not a + GenericEnumConverter. + (ParseCookieMode): the parser. + +2005-11-28 Chris Toshok <toshok@ximian.com> + + * PagesSection.cs (GetInstance): nuke. + + * CompilationSection.cs (GetInstance): nuke. + +2005-11-28 Chris Toshok <toshok@ximian.com> + + * HttpHandlerAction.cs: add some c&p code from the 1.1 config + stuff to look for matching handlers. + (..ctor): add parameterless ctor. + + * HttpHandlerActionCollection.cs: clean up formatting. + (CreateNewElement): call the parameter-less ctor for + HttpHandlerAction. + + * HttpHandlersSection.cs (..ctor): add a ConfigurationProperty for + the default collection. + (get_Handlers): implement. + (LocateHandler): copy over (and massage) some 1.1 config code. + + * MachineKeySection.cs: move some code over from the 1.1 config + code to deal with autogeneration of keys, as well as converting + from the string rep to the byte[] rep. + +2005-11-28 Chris Toshok <toshok@ximian.com> + + * HttpModuleActionCollection.cs (CreateNewElement): use the new + HttpModuleAction ctor. + + * HttpModuleAction.cs: add internal ctor with no parameters, for + use in HttpModuleActionCollection. + +2005-11-28 Chris Toshok <toshok@ximian.com> + + * GlobalizationSection.cs (..cctor): the encoding + ConfigurationProperties are of type "string", even though the + properties themselves are of type Encoding. we do conversions + manually in the setter/getters. gross. Add code (mostly c&p + + massaged from GlobalizationConfigurationHandler) for this and also + to handle the culture gettes. + +2005-11-26 Chris Toshok <toshok@ximian.com> + + * AuthorizationRuleCollection.cs (GetElementKey): implement this. + + * ProfilePropertyNameValidator.cs: make this internal, and add a + blurb about how MS doesn't do the testing you'd expect them to. + +2005-11-25 Chris Toshok <toshok@ximian.com> + + * AuthorizationRuleCollection.cs (CreateNewElement): remove + MonoTODO. + + * CompilationSection.cs (GetRuntimeObject): add comment to TODO. + + * ProfileGroupSettings.cs: reformat some things. + + * FormsAuthenticationUser.cs (Name): remove MonoTODO. + + * WebPartsSection.cs (GetRuntimeObject): change TODO comment. + + * ProfilePropertySettings.cs: add internal argument-less ctor. + + * IdentitySection.cs (GetRuntimeObject): return this. + + * ProfilePropertySettingsCollection.cs: implement much of the + TODO's. + + * WebControlsSection.cs (GetRuntimeObject): implement. + + * SqlCacheDependencyDatabaseCollection.cs (GetElementKey): + implement. + (GetKey): implement. + +2005-11-24 Chris Toshok <toshok@ximian.com> + + * AssemblyInfo.cs: move this here from System.Web.Configuration, + and fix up the properties. + + * SystemWebSectionGroup.cs: enable most of the sections (2 + remaining to be enabled.) + +2005-11-24 Chris Toshok <toshok@ximian.com> + + * ProcessModelSection.cs, SqlCacheDependencySection.cs, + SessionStateSection.cs, PassportAuthentication.cs, + FormsAuthenticationConfiguration.cs, + SqlCacheDependencyDatabase.cs, HttpModuleAction.cs, + BufferModeSettings.cs, TagPrefixInfo.cs (..cctor): init + elementProperty. + (ValidateElement): new static validator callback. + (ElementProperty): enable this, return elementProperty. + +2005-11-23 Chris Toshok <toshok@ximian.com> + + * ProfilePropertyNameValidator.cs: new implementation. + + * ProfilePropertySettings.cs, ProfileGroupSettings.cs, + ClientTargetSection.cs, ClientTargetSection.cs, + BufferModeSettings.cs, HttpModulesSection.cs, + WebPartsPersonalization.cs, TransformerInfo.cs, TrustLevel.cs, + NamespaceInfo.cs, SqlCacheDependencyDatabase.cs, + AuthenticationSection.cs, RuleSettings.cs, + FormsAuthenticationUser.cs, WebPartsSection.cs, BuildProvider.cs, + WebPartsPersonalizationAuthorization.cs, Compiler.cs, + ExpressionBuilder.cs, OutputCacheProfile.cs, + FormsAuthenticationCredentials.cs, XhtmlConformanceSection.cs, + OutputCacheSettingsSection.cs, CustomError.cs, TraceSection.cs, + ExpressionBuilderCollection.cs, ProfileSettings.cs, + SessionStateSection.cs, HealthMonitoringSection.cs, + FormsAuthenticationConfiguration.cs, HttpRuntimeSection.cs, + SessionPageStateSection.cs, TrustSection.cs, + AnonymousIdentificationSection.cs, WebControlsSection.cs, + ClientTarget.cs, TagMapInfo.cs, AuthorizationSection.cs, + ProcessModelSection.cs, RoleManagerSection.cs, + MembershipSection.cs, CustomErrorsSection.cs (..cctor): fix + validator/converters. + + * MachineKeySection.cs (..cctor): fix validators/converters. + (Validation): enable the Converter. + + * CodeSubDirectory.cs (..cctor): fix validator/converters. + (DirectoryName): add note about missing validator decoration. + + * HttpModuleAction.cs (..cctor): init properties. + (Properties): return properties. + + * CompilationSection.cs (..cctor): fix validator/converters. + (GetInstance): add in this pre-2.0 interface for the time being, + hopefully it'll make it easier to migrate later on. + + * HttpHandlerActionCollection.cs (..cctor): init properties. + (Properties): return properties. + + * PagesSection.cs (..cctor): fix validator/converters. + (GetInstance): add in this pre-2.0 interface for the time being, + hopefully it'll make it easier to migrate later on. + + * HttpHandlersSection.cs (..cctor): init properties. + (Properties): return properties. + + * EventMappingSettings.cs (..cctor): fix validator/converters. + (Name): add note about missing validator decoration. + + * HttpHandlerAction.cs (..cctor): fix validator/converters. + (PAth, Type, Verb): add note about missing validator decoration. + + * NamespaceCollection.cs (..cctor): fix properties. + + * ProfilePropertySettingsCollection.cs (..cctor): init properties. + (..ctor): don't throw NIE. + (Properties): return properties. + + * HttpModuleActionCollection.cs (..cctor): init properties. + (Properties): return properties. + + * CacheSection.cs (..cctor): fix validators/converters. + (PrivateBytesPollTime): add note about missing validator + decoration. + + * AuthorizationRule.cs (..cctor): fix validators/converters. + (Roles, Users, Verbs): enable the TypeConverter decorations. + + * UrlMapping.cs (ValidateUrl): static method for use as a + validation callback. unimplemented as yet. + (..cctor): fix validators/converters. + (MappedUrl): add note about missing validator decoration. + + * PropertyHelper.cs: static utility class which contains + references to validators and converters for use in static + constructors (building the Properties arrays). + +2005-11-23 Chris Toshok <toshok@ximian.com> + + * MachineKeyValidationConverter.cs: new converter (and a pretty + silly one, considering all it seems to do is convert "TripleDES" + to "3DES"). + + * HostingEnvironmentSection.cs (.cctor): use + PositiveTimeSpanValidator like MS does. + +2005-11-18 Chris Toshok <toshok@ximian.com> + + * HostingEnvironmentSection.cs (.cctor): add validators. + + * CompilationSection.cs (.cctor): fix defaultvalue of + urlLinePragmas. + +2005-11-18 Chris Toshok <toshok@ximian.com> + + * SystemWebSectionGroup.cs: enable a whole slew of properties. + + * RegexWorker.cs: stub this out. + + * HttpCapabilitiesBase.cs: remove GetClrVersions since it's in one + of the other partial files. + + * CompilationSection.cs: fix this up. + + * PagesSection.cs: fix some types and add a comment to + DeserializeSection. + + * CompilerCollection.cs (Add): new internal method. + + * ProvidersHelper.cs: put the using System.Configuration.Provider + inside the NET_2_0 block. + + * CacheSection.cs: add validators. + +2005-11-14 Chris Toshok <toshok@ximian.com> + + * BufferModeSettings.cs: add validators/converters to the + programmatic property list. + + * BuildProvider.cs: add validators/converters to the programmatic + property list, and add an internal ctor with no args. + + * Compiler.cs: wrap the code i hacked from the 1.1 stuff with a + #region. + + * BuildProviderCollection.cs (CreateNewElement): use the internal + BuildProvider ctor to get around validation. + + * AssemblyCollection.cs: same. + +2005-11-14 Chris Toshok <toshok@ximian.com> + + * TagPrefixCollection.cs (Remove): pass the key to BaseRemove. + (set_Item (int index)): implement. + + * TagPrefixInfo.cs (Equals): implement. + (GetHashCode): implement. + + * AuthorizationRuleCollection.cs (CreateNewElement(string)): + implement propertly. + (IndexOf): implement. + (IsElementName): implement. + (ElementName): implement. + (Item (int index)): implement. + + * FormsAuthenticationUserCollection.cs (set_Item (int index)): implement. + + * UrlMappingCollection.cs (set_Item (int index)): implement. + + * OutputCacheProfileCollection.cs (set_Item (int index)): implement. + + * TransformerInfo.cs (Equals): implement. + (GetHashCode): implement. + + * NamespaceInfo.cs (Equals): implement. + (GetHashCode): implement. + + * ProfileSettingsCollection.cs (set_Item (int index)): implement. + + * TransformerInfoCollection.cs (set_Item (int index)): implement. + + * HttpHandlerActionCollection.cs (set_Item (int index)): implement. + + * BufferModesCollection.cs (set_Item (int index)): implement. + + * BuildProvider.cs: use the base[fooProp] pattern instead of + instance fields. + + * ProfileGroupSettingsCollection.cs: implement most of this class. + + * RuleSettingsCollection.cs (set_Item (int index)): implement. + + * ClientTargetCollection.cs (set_Item (int index)): implement. + + * AssemblyCollection.cs (set_Item (int index)): implement. + + * BuildProviderCollection.cs (set_Item (int index)): reformat. + + * CustomError.cs (Equals): implement. + (GetHashCode): implement. + + * ExpressionBuilderCollection.cs (set_Item (int index)): reformat. + + * PassportAuthentication.cs (RedirectUrl): express consternation + in comment form. + + * NamespaceCollection.cs (set_Item (int index)): implement. + + * RootProfilePropertySettingsCollection.cs (SerializeElement): add + comment. + + * ProfilePropertySettingsCollection.cs (set_Item (int index)): + implement. + + * CustomErrorCollection.cs (set_Item (int index)): implement. + + * HttpModuleActionCollection.cs (set_Item (int index)): implement. + + * CodeSubDirectoriesCollection.cs (set_Item (int index)): + implement. + + * CustomErrorsSection.cs (DeserializeSection): include call to + base.DeserializeSection, and add MonoTODO. + + * EventMappingSettingsCollection.cs (set_Item (int index)): + implement. + + * AuthorizationRule.cs (Equals): implement. + (GetHashCode): implement. + (SerializeElement): add comment. + + * TagMapCollection.cs (Remove): pass the key to BaseRemove. + (set_Item (int index)): implement. + + * TagMapInfo.cs (Equals): implement. + (GetHashCode): implement. + (SerializeElement): add call to base.SerializeElement. + + * TrustLevelCollection.cs (Remove): pass the key to BaseRemove. + (GetElementKey): implement. + + * SqlCacheDependencyDatabase.cs (set_Item (int index)): implement. + + * WebContext.cs: new implementation. + +2005-11-13 Chris Toshok <toshok@ximian.com> + + * AnonymousIdentificationSection.cs: rework this class a bit to + fit in with the rest of S.W.C. Add validators to the + ConfigurationProperty ctor calls, a pattern which will need to be + replicated across the entire assembly, it appears (uggggh). + +2005-11-13 Chris Toshok <toshok@ximian.com> + + * AuthorizationRuleCollection.cs: fix ConfigurationCollection + attribute. + + * TransformerInfo.cs: fix corcompare. + + * SqlCacheDependencyDatabase.cs: mark ctor internal to fix + corcompare. + + * AuthenticationSection.cs: add missing Reset stub. + + * ProfileSettingsCollection.cs: use the more succint ctor. + + * FormsAuthenticationUser.cs: enable the TypeConverter on "name". + + * GlobalizationSection.cs: fix up corcompare. + + * WebPartsSection.cs: fix up corcompare. + + * ProfileGroupSettingsCollection.cs: add missing + ConfigurationCollection attribute. + + * ExpressionBuilder.cs: implement. + + * FormsAuthenticationCredentials.cs: fix up corcompare. + + * AssemblyCollection.cs: implement Properties. + + * SiteMapSection.cs: implement Properties. + + * ExpressionBuilderCollection.cs: fix up corcompare. + + * ProfileSettings.cs: add missing ctor. + + * PassportAuthentication.cs: new implementation. + + * SqlCacheDependencySection.cs: fix up corcompare. + + * ProfilePropertySettingsCollection.cs: fix up corcompare. + + * HttpModuleActionCollection.cs: fix up corcompare. + + * EventMappingSettingsCollection.cs: fix up corcompare. + + * AuthorizationRule.cs: fix up corcompare. + + * WebControlsSection.cs: fix up corcompare. + + * AuthorizationSection.cs: fix up corcompare. + + * MembershipSection.cs: clean this up, implement Properties, fix + up corcompare, etc. + +2005-11-13 Chris Toshok <toshok@ximian.com> + + * UrlMapping.cs, CustomErrorCollection.cs, CustomError.cs, + HostingEnvironmentSection.cs, TrustLevel.cs, + HttpCookiesSection.cs, UrlMappingsSection.cs, + UrlMappingCollection.cs, LowerCaseStringConverter.cs, + RoleManagerSection.cs, ProcessModelSection.cs, + TrustLevelCollection.cs, ClientTarget.cs, CustomErrorsSection.cs, + MachineKeySection.cs, SessionPageStateSection.cs, + SessionStateSection.cs, ProvidersHelper.cs, + ClientTargetCollection.cs, SecurityPolicySection.cs, + HttpCapabilitiesBase.cs, ClientTargetSection.cs: Another large + swath. + + +2005-11-12 Chris Toshok <toshok@ximian.com> + + * AuthorizationRuleCollection.cs, AuthorizationRule.cs, + AuthorizationSection.cs, BufferModesCollection.cs, + BufferModeSettings.cs, CacheSection.cs, CompilerCollection.cs, + Compiler.cs, DeploymentSection.cs, + EventMappingSettingsCollection.cs, EventMappingSettings.cs, + GlobalizationSection.cs, HealthMonitoringSection.cs, + IdentitySection.cs, OutputCacheProfileCollection.cs, + OutputCacheProfile.cs, OutputCacheSection.cs, + OutputCacheSettingsSection.cs, ProfileSettingsCollection.cs, + ProfileSettings.cs, RuleSettingsCollection.cs, RuleSettings.cs, + SqlCacheDependencyDatabaseCollection.cs, + SqlCacheDependencyDatabase.cs, SqlCacheDependencySection.cs, + SystemWebCachingSectionGroup.cs, TraceSection.cs, + TransformerInfoCollection.cs, TransformerInfo.cs, TrustSection.cs, + WebControlsSection.cs, WebPartsPersonalizationAuthorization.cs, + WebPartsPersonalization.cs, WebPartsSection.cs, + XhtmlConformanceSection.cs: a whole slew of new classes. the + fruits of tons of c&p and ibuprofen. + + +2005-11-09 Chris Toshok <toshok@ximian.com> + + * PagesSection.cs, AuthenticationSection.cs, BuildProvider.cs, + BuildProviderCollection.cs, HttpHandlerActionCollection.cs, + HttpModulesSection.cs, HttpModuleAction.cs, + HttpModuleActionCollection.cs, AnonymousIdentificationSection.cs, + CodeSubDirectory.cs, CodeSubDirectoriesCollection.cs, + SystemWebSectionGroup.cs, SiteMapSection.cs, + WebConfigurationManager.cs: flesh out the implementation. + + * TagMap*.cs, TagPrefix*.cs: new implementation. + + * FormsAuthentication*.cs: new implementation. + + * Profile*.cs: new implementation. + + * Namespace*.cs: new implementation. + + * HttpRuntimeSection.cs: new implementation. + diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs new file mode 100644 index 00000000000..4379e8051ff --- /dev/null +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs @@ -0,0 +1,41 @@ +// +// System.Web.Configuration.PagesEnableSessionState.cs +// +// Authors: +// Duncan Mak (duncan@ximian.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +// Copyright (C) 2004 Novell, Inc (http://www.novell.com) +// + +using System.Resources; + +#if NET_2_0 +namespace System.Web.Configuration +{ + public enum PagesEnableSessionState + { + False = 0, + ReadOnly = 1, + True = 2 + } +} +#endif diff --git a/mcs/class/System.Web/System.Web.UI/ChangeLog b/mcs/class/System.Web/System.Web.UI/ChangeLog new file mode 100644 index 00000000000..ed37506fc56 --- /dev/null +++ b/mcs/class/System.Web/System.Web.UI/ChangeLog @@ -0,0 +1,4400 @@ +2007-07-24 Igor Zelmanovich <igorz@mainsoft.com> + + * ClientScriptManager.cs: fixed: GetCallbackEventReference method. + +2007-07-23 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: refactoring: __doPostBack client script + It is a part of adapting System.Web to work whith + System.Web.Extensions (AJAX). + +2007-07-23 Konstantin Triger <kostat@mainsoft.com> + + * Control.cs: calculate AppRelativeTemplateSourceDirectory from HttpContext + when control is not in control collection. + +2007-07-22 Konstantin Triger <kostat@mainsoft.com> + + * Control.cs, + TemplateControl.cs: base AppRelativeTemplateSourceDirectory property + on TemplateControl; implement special behavior of Control.TemplateControl for + TemplateControl instances. + +2007-07-18 Marek Habersack <mhabersack@novell.com> + + * ControlBuilder.cs: on the 2.0 profile BindingContainerType + returns the associated control's base type when parent builder is + absent instead of typeof (Control). It returns typeof (Control) if + the parent builder type is determined to be a + NamingContainer. This makes the generated code match the MS.NET + output. Fixes bug #82119. + +2007-07-18 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + * ClientScriptManager.cs: + scripts, registered using RegisterClientScriptInclude, + RegisterClientScriptResource and RegisterClientScriptBlock appear on Page + in order matches the order in which the scripts were registered. + +2007-07-16 Igor Zelmanovich <igorz@mainsoft.com> + + * Control.cs: fixed EnsureID. + ID is not assigned, if already was set. + +2007-07-12 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ClientScriptManager.cs: refactored event validation data structure + * Page.cs: fixed InternalProcessRequest, event validation list should + be cleared before render + +2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ObjectStateFormatter.cs: optimized loops in array formatters + +2007-07-03 Marek Habersack <mhabersack@novell.com> + + * SimpleWebHandlerParser.cs: improve directive + pre-parsing. Directives can span multiple lines, they don't have + to start at the beginning of the line and any content can follow + them after the directive end. Also, do not trim the input since + that might affect program content. Fixes bug #81993. + +2007-07-02 Marek Habersack <mhabersack@novell.com> + + * Control.cs: make sure TemplateSourceDirectory returns meaningful + results in the 1.1 profile. Fixes bug #81950. + +2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ObjectStateFormatter.cs: WriterContext.RegisterCache, refactored out + parameter + +2007-06-20 Marek Habersack <mhabersack@novell.com> + + * BasePartialCachingControl.cs: use HttpRuntime.InternalCache to + keep the private entries. + +2007-06-18 Igor Zelmanovich <igorz@mainsoft.com> + + * Control.cs: revised the changes from r79982. + +2007-06-18 Igor Zelmanovich <igorz@mainsoft.com> + + * Control.cs: optimized flow in ResolveClientUrl. + +2007-06-15 Gert Driesen <drieseng@users.sourceforge.net> + + * ObjectStateFormatter.cs: Avoid NRE in Serialize. Fixes bug #81851. + +2007-06-09 Marek Habersack <mhabersack@novell.com> + + * TemplateControl.cs: make sure TemplateControl is set to the + current control. + + * Control.cs: TemplateControl property goes up the parent chain if + the property isn't defined in the current control. + TemplateSourceDir finally implemented correctly. + +2007-06-06 Marek Habersack <mhabersack@novell.com> + + * Control.cs: more changes to the way TemplateSourceDirectory + works in the 2.0 profile. Take into account situations when a + control is placed in a UserControl (.ascx) and only then fall back + to the parent for its TemplateSourceDirectory. + +2007-06-05 Marek Habersack <mhabersack@novell.com> + + * Control.cs: TemplateSourceDirectory uses TemplateControl to + lookup the virtual source directory in the 2.0 instead of the + Parent. + ResolveClientUrl copes with empty TemplateSourceDirectory in the + correct way now - the check is made after the basePath checks. + The changes above make ResolveClientUrl work properly when called + from within a control residing in a TemplateControl. + +2007-05-30 Vladimir Krasnov <vladimirk@mainsoft.com> + + * HtmlTextWriter.cs: EncodeAttributeValue should call + HtmlAttributeEncode as documented + +2007-05-24 Marek Habersack <mhabersack@novell.com> + + * PageParser.cs: added support for the PreviousPageType + directive. + +2007-05-23 Marek Habersack <mhabersack@novell.com> + + * TemplateParser.cs: use VirtualPathUtility.Combine to properly + create the custom control's virtual path. + +2007-05-22 Marek Habersack <mhabersack@novell.com> + + * TemplateBuilder.cs: in the absence of containerAttribute, + default to two-way binding direction. + +2007-05-21 Igor Zelmanovich <igorz@mainsoft.com> + + * DataSourceView.cs: refactoring: Update, Insert methods: + exception is re-thrown from catch scope. + It allows actual call stack be shown + +2007-05-17 Vladimir Krasnov <vladimirk@mainsoft.com> + + * TemplateControl.jvm.cs: refactored key for CachedString method + +2007-05-16 Vladimir Krasnov <vladimirk@mainsoft.com> + + * HtmlTextWriter.cs: refactoring, created hashtables for tags, styles + and attributes arrays, that gives performance improvement in GetTagKey + GetStyleKey and GetAttributeKey methods + +2007-05-15 Marek Habersack <mhabersack@novell.com> + + * TemplateControl.cs: implemented the 3-parameter overloads of + GetLocalResourceObject and GetGlobalResourceObject. + + * TemplateParser.cs: refactoring - use HttpApplication.LoadType to + actually look up types. + + * ControlBuilder.cs: as above + +2007-05-14 Marek Habersack <mhabersack@novell.com> + + * ClientScriptManager.cs: put the hidden field within a <div>, the + way MS.NET does it. + +2007-05-11 Gert Driesen <drieseng@users.sourceforge.net> + + * ControlBuilder.cs: Fixed exception message in MapType. + +2007-05-10 Marek Habersack <mhabersack@novell.com> + + * Control.cs: small formatting change + +2007-05-10 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: ExecuteRegisteredAsyncTasks: + implimentation for TARGET_JVM doesn't use WaitHandle.WaitAll, but WaitOne + +2007-05-09 Vladimir Krasnov <vladimirk@mainsoft.com> + + * HtmlTextWriter.cs: used classes instead of sctrucs in TARGET_JVM for + AddedTag, AddedStyle and AddedAttr members + * TemplateControl.jvm.cs: refactored CachedString method + +2007-05-09 Marek Habersack <mhabersack@novell.com> + + * CollectionBuilder.cs: formatting changes + + * ControlBuilder.cs: if a control enables children as properties, + has a default property and parser encounters a child tag/container + with the default property name, discard the default property + builder in order to avoid invalid sub builder invocation. An + example is: <asp:DropDownList><Items></Items></asp:DropDownList> + Formatting changes. + When checking for empty string, use Length not comparison with "" + +2007-05-08 Marek Habersack <mhabersack@novell.com> + + * CssStyleCollection.cs: put the style in the bag each time a key + is set, otherwise resetting of a key has no effect on rendered + style. + +2007-05-07 Marek Habersack <mhabersack@novell.com> + + * TemplateParser.cs: added support for implicit language + detection. If the language isn't set explicitly in the Page + directive, the language value taken from the configuration + considered to be implicit - that is, it can be overwritten by the + first <script> with the runat="server" and language="xx" sets the + language for the parser. This makes it possible to have the + default language set to "C#" and the inline code in, e.g., + VisualBasic. + + * ControlBuilder.cs: when mapping types, catch casses of missing + original and mapped types. + If mapped type doesn't derive from the original type, throw an + exception. Fixes bug #81553. + +2007-05-04 Marek Habersack <mhabersack@novell.com> + + * Control.cs: added an internal method to resolve a physical path + to a file from its virtual path considering the possibility that a + control is placed in a master page, which in turn is referenced + from a directory another than that of master page itself. + +2007-05-03 Igor Zelmanovich <igorz@mainsoft.com> + + * AttributeCollection.cs: + * DataBindingHandlerAttribute.cs: + * HtmlTextWriter.cs: + * PartialCachingControl.cs: + * TemplateControl.cs: + * TemplateControl.jvm.cs: + * XPathBinder.cs: + added missing API. + +2007-05-03 Igor Zelmanovich <igorz@mainsoft.com> + + * CssStyleCollection.cs: optimization: + used StringBuilder instead string to hold value. + When added key that not exists in collection, value is recalculated by + appending required key to existing value. + +2007-05-02 Igor Zelmanovich <igorz@mainsoft.com> + + * Control.cs: ResolveClientUrl: optimization. + if basePath is the same as TemplateSourceDirectory + releativeUrl is returned as is. + +2007-05-02 Igor Zelmanovich <igorz@mainsoft.com> + + * Control.cs: + ResolveClientUrl considers TemplateSourceDirectory property. + +2007-05-01 Marek Habersack <mhabersack@novell.com> + + * PageParser.cs: clientTarget comparisons must be case-insensitive + +2007-04-30 Konstantin Triger <kostat@mainsoft.com> + + * DataBinder.cs: When formatting, threat empty string as null. + +2007-04-27 Marek Habersack <mhabersack@novell.com> + + * TemplateControlParser.cs: 2.0 allows 'Namespace' without the + 'Assembly' attribute on tag prefix registration. + + * TemplateParser.cs: do not rely on assembly name being not null. + +2007-04-19 Gert Driesen <drieseng@users.sourceforge.net> + + * TemplateParser.cs: On 2.0 profile, allow namespace in ClassName + attribute. Fixes part of bug #81399. + +2007-04-11 Marek Habersack <mhabersack@novell.com> + + * Page.cs: check whether control passed to + RegisterRequiresPostBack implements the IPostBackDataHandler + interface. + +2007-04-06 Marek Habersack <mhabersack@novell.com> + + * ClientScriptManager.cs: render the 'type' attribute in + WriteScript and do not render the 'language' attribute when in + NET_2_0+ mode. + + * Page.cs: defaults for ViewStateEncrptionMode and AsyncTimeout + are read from the pages section, if found. + + * TemplateControlParser.cs: added support for loading + pages/controls defaults from web.config even if the page/control + does not have its corresponding directive. + Added support for reading the CompilationMode attribute. + + * PageParser.cs: added support for loading pages/controls defaults + as above. Fixes bug #80915. + Added support for reading the maxPageStateFieldLength setting. + Added support for reading the pageParserFilter setting. + + * ControlBuilder.cs: allow tag mappings from code found + in bin/* or App_Code/*. Fixes bug #80811. + +2007-03-29 Vladimir Krasnov <vladimirk@mainsoft.com> + + * TemplateControl.jvm.cs: performance improvement, added cache for + methods and events in user code + +2007-03-26 Marek Habersack <mhabersack@novell.com> + + * TemplateControl.cs: make local resources work with master + pages - use the AppRelativeVirtualPath for resource resolution. + + * TemplateParser.cs: support the meta:resourcekey attribute in + Page and Control directives. Fixes bug #81204. + +2007-03-21 Marek Habersack <mhabersack@novell.com> + + * UnknownAttributeDescriptor.cs: an internal helper class for + custom directive attributes support. + + * BaseParser.cs: ThrowParseException can now take variadic + parameters, for convenience. + + * TemplateParser.cs: add support for custom attributes for the + Page and Control directives. + Added support for the CodeFileBaseClass directive. Fixes bug #81132 + +2007-03-20 Igor Zelmanovich <igorz@mainsoft.com> + + * Control.cs: fixed ResolveClientUrl method. + +2007-03-18 Marek Habersack <mhabersack@novell.com> + + * BaseParser.cs: fix BaseVirtualDir to always return app-absolute + paths. + +2007-03-17 Marek Habersack <mhabersack@novell.com> + + * MasterPageParser.cs: remove superfluous #ifdef + + * TemplateParser.cs: use VirtualPathUtility here + +2007-03-14 Vladimir Krasnov <vladimirk@mainsoft.com> + + * TemplateControl.jvm.cs: fixed WireupAutomaticEvents, performance + optimization + +2007-03-13 Marek Habersack <mhabersack@novell.com> + + * TemplateParser.cs: name generated classes the same way MS.NET + does - include the app-relative path to the control/page in the + class name. + +2007-03-13 Adar Wesley <adarw@mainsoft.com> + + * Page.cs: improved Async Page implementation. + +2007-03-13 Marek Habersack <mhabersack@novell.com> + + * TemplateControl.cs: implement AppRelativeVirtualPath. Closes bug + #80634. + +2007-03-12 Marek Habersack <mhabersack@novell.com> + + * RootBuilder.cs: change the error text to be less misleading. + +2007-03-12 Igor Zelmanovich <igorz@mainsoft.com> + + * AttributeCollection.cs: + * CssStyleCollection.cs: fixed: works w/o state bag. + +2007-03-12 Igor Zelmanovich <igorz@mainsoft.com> + + * HtmlTextWriter.cs: fixed: + - Fixed writing background-image style attribute (different behavior in + 1.1 and 2.0). + - Does not encode 'name' attribute. + - Always encode style attributes (for 2.0 only). + +2007-03-06 Adar Wesley <adarw@mainsoft.com> + + * Page.cs: initial implementation of support for Async=true. Added + initial support for ViewStateEncryption. Implemented + CreateHtmlTextWriterFromType. + + * PageAsyncTask.cs: Created class to support Async pages. + + * ObjectStateFormatter.cs: Added support for ViewState encryption. + + * HtmlTextWriter.cs: Fixed constructor to accept null TextWriter + to conform to MS behavior. + +2007-03-05 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Control.jvm.cs: fixed TemplateSourceDirectory property + +2007-03-03 Marek Habersack <mhabersack@novell.com> + + * TemplateParser.cs: support but ignore the Async and AsyncTimeOut + page directive attributes. + Support the LinePragmas page directive attribute. + + * PageParser.cs: added support for the + MaintainScrollPositionOnPostBack page directive attribute. + +2007-02-26 Igor Zelmanovich <igorz@mainsoft.com> + + * TemplateControl.cs: + * TemplateControl.jvm.cs: fixed: AutoEventWireup feature: + Method 'Page_XXX' is declared in the base class must be + called even is private. + +2007-02-26 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Control.cs: fixed AppRelativeTemplateSourceDirectory property, should + not return AppRelativeTemplateSourceDirectory of master page + +2007-02-26 Igor Zelmanovich <igorz@mainsoft.com> + + * ClientScriptManager.cs: fixed: GetScriptLiteral escapes back-slash: + +2007-02-22 Igor Zelmanovich <igorz@mainsoft.com> + + * TemplateControl.cs: added missing property AppRelativeVirtualPath + +2007-02-21 Konstantin Triger <kostat@mainsoft.com> + + * TemplateParser.cs: remove CodeGenerator.IsValidLanguageIndependentIdentifier + check from Global.asax inherits attribute to let inherits="A.B" construct. + +2007-02-20 Igor Zelmanovich <igorz@mainsoft.com> + + * ObjectStateFormatter.cs: + optimization for serialization of primitive type arrays + +2007-02-19 Igor Zelmanovich <igorz@mainsoft.com> + + * ClientScriptManager.cs: + * Control.cs: + * Page.cs: + implemented PostBackOptions.TrackFocus feature. + +2007-02-14 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: for 2.0: refactoring: + prepare infrastructure for Form.SubmitDisabledControls feature + +2007-02-18 Eyal Alaluf <eyala@mainsoft.com> + + * Control.jvm.cs, Control.cs: Move TemplateSourceDirectory to .jvm file. + * Control.jvm.cs, Page.jvm.cs: Centralize Portlet specific API in Page.jvm + * Page.cs, Page.jvm.cs, ClientScriptManager.cs: Support for Http callbacks + for J2EE portlets. + +2007-02-14 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: for 2.0: + '__EVENTTARGET' and '__EVENTARGUMENT' hidden fields are + registered only once. + +2007-02-14 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: for 2.0: '__doPostBack' declared as function of form. + convention to use 'currForm' instead 'myForm' + +2007-02-14 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + * ClientScriptManager.cs: + including 'webform.js' requires '__doPostBack' on the form be rendered. + +2007-02-14 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + * ClientScriptManager.cs: + refactoring: 'theForm' variable is always declared on client. + '__EVENTTARGET' and '__EVENTARGUMENT' hidden fields is rendered using + RegisterHiddenField API. 'WebForm_OnSubmit' declared as function of form. + +2007-02-14 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Page.cs: fixed OnInit, adding css should throw exception if no header + present on the page + +2007-02-14 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: __doPostBack considers 2.0 features + such RegisterOnSubmitStatement + +2007-02-14 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + * ClientScriptManager.cs: + implemented RegisterOnSubmitStatement for 2.0 + +2007-02-13 Igor Zelmanovich <igorz@mainsoft.com> + + * ClientScriptManager.cs: EventValidation feature optimization on Callback. + +2007-02-13 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed exception handling on Callback at client. + +2007-02-08 Marek Habersack <grendello@gmail.com> + + * Page.cs: Make sure to create specific cultures. + +2007-02-08 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ClientScriptManager.cs: added array declaration also as member of + form in TARGET_J2EE for j2ee portal support. + Added validators context init for GetClientValidationEvent under + TARGET_J2EE for j2ee portal support. + * Page.cs: fixed OnFormPostRender, render array declarations after + postback script. + +2007-02-04 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + * ClientScriptManager.cs: + client scripts (webform.js, callback.js and + MaintainScrollPositionOnPostBack.js) were merged into one resource file. + +2007-02-04 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + http://msdn2.microsoft.com/en-us/library/ms178141.aspx + LAMESPEC: on Callback IsPostBack is set to false, but true. + +2007-02-04 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + VerifyRenderingInServerForm does not fire exception when IsCallback + +2007-02-04 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + * ClientScriptManager.cs: + fixed RegisterClientScriptInclude: all includes that was registered before + rendering are rendered at begin form. + +2007-02-02 Marek Habersack <grendello@gmail.com> + + * TemplateParser.cs: Do not register controls here. + +2007-02-02 Adar Wesley <adarw@mainsoft.com> + + * Control.cs: Changed UniqueId implementation to have '$' and not ':' + to conform to MS. This led to updating several Tests that referenced + the UniqueId as string. + +2007-01-30 Eyal Alaluf <eyala@mainsoft.com> + + * ClientScriptManager.cs: Fix Igor's last changes for TARGET_JVM. + +2007-01-29 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + * ClientScriptManager.cs: + CallBack works with EvantValidation. + +2007-01-25 Eyal Alaluf <eyala@mainsoft.com> + + * Page.cs: Change code to use the 'theForm' property when generating + JavaScript code. Ensure that we pass 'theForm' as param to the JS funcs. + * Page.jvm.cs, Control.jvm.cs: Implement the 'theForm' property to include + the portlet namespace. Moved 'PortletNamespace' from Control.jvm.cs + * Page.jvm.cs, Control.jvm.cs, ClientScriptManager.cs: Added support for + saving hidden fields for TARGET_J2EE Portlets re-render. + * Control.cs: Under TARGET_J2EE portal support add the PortletNamespace + to all the control IDs to ensure they different between portlets. + +2007-01-24 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Page.cs: fixed CheckForValidationSupport, + SupportsEventValidationAttribute should be checked at only one level + +2007-01-23 Vladimir Krasnov <vladimirk@mainsoft.com> + + * TemplateControl.jvm.cs: ParseControl not supported, added limited + implementation if TestDeviceFilter + +2007-01-22 Konstantin Triger <kostat@mainsoft.com> + + * ClientScriptManager.cs: ensure the callback client script is + registered before the client script includes are rendered. + +2007-01-22 Konstantin Triger <kostat@mainsoft.com> + + * Page.cs, ClientScriptManager.cs: ensure the web form client script is + registerd before the client script includes are rendered. + +2007-01-21 Konstantin Triger <kostat@mainsoft.com> + + * Page.cs: move the WriteClientScriptIncludes to the top of the form, + according to the MSDN. + +2007-01-20 Miguel de Icaza <miguel@novell.com> + + * XhtmlTextWriter.cs: comment out unused code. + + * ThemeProvider.cs: comment out unused code. + + * DataSourceView.cs: Comment unused variable. + + * ClientScriptManager.cs: Put the expandoAttributes inside the 2.0 + code + + * Control.cs: Put _templateControl inside the NET_2_0 ifdef + +2007-01-20 Marek Habersack <grendello@gmail.com> + + * TemplateParser.cs: Check whether the base type is in the root + namespace. + +2007-01-18 Eyal Alaluf <eyala@mainsoft.com> + + * Control.jvm.cs: Added PortletNamespace property. + +2007-01-16 Vladimir Krasnov <vladimirk@mainsoft.com> + + * TemplateControl.jvm.cs: remover TemplateSourceDirectory propery + * Control.cs: moved TemplateSourceDirectory from TemplateControl for + TARGET_JVM, fixed AppRelativeTemplateSourceDirectory + +2007-01-16 Vladimir Krasnov <vladimirk@mainsoft.com> + + * TemplateControl.jvm.cs: added 2.0 event names for wiring up + +2007-01-15 Ilya Kharmatsky <ilya - at - decode-systems.com> + * Control.cs: + - IsViewStateEnabled - removed check for non-null page, since + the control by definition should come with enabled + view state, even if it not 'attached' to the page + - HasEvents() - implementation (still could produce bug in exotic scenarios + when all events added to 'this' control has been removed + through the property 'Events', but currently we can't see + better implementation) + +2007-01-14 Eyal Alaluf <eyala@mainsoft.com> + + * Control.jvm.cs, Page.jvm.cs: Added TARGET_J2EE specific files. + * Page.cs, ClientScriptManager.cs, Control.cs: Added J2EE portal + support for TARGET_J2EE. + +2007-01-12 Miguel de Icaza <miguel@novell.com> + + * Control.cs: Remove comment, it provides no information about + what could be wrong. + +2007-01-08 Vladimir Krasnov <vladimirk@mainsoft.com> + + * PageTheme.cs: implemented + * Page.cs: fixed InitializeTheme, added PageTheme page initialization + * TemplateControl.cs, + * TemplateControl.jvm.cs: added XPath, XPathSelect overloads with + IXmlNamespaceResolver parameter + * XPathBinder.cs: added Eval, Select overloads with + IXmlNamespaceResolver parameter, refactored + +2007-01-08 Vladimir Krasnov <vladimirk@mainsoft.com> + + * TemplateControl.jvm.cs: added GetGlobalResourceObject + +2007-01-07 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: refactoring: used RegisterHiddenField for _VIEWSTATE field. + +2007-01-04 Igor Zelmanovich <igorz@mainsoft.com> + + * Control.cs: ensure 'id' attribute will be rendered if + ClientID was accessed but ID is generated by the Page, + important for custom controls developing. + +2007-01-04 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed: InitializeCulture should be called + before creating controls. + +2007-01-03 Marek Habersack <grendello@gmail.com> + + * Page.cs: Make sure the ValidatorOnSubmit function is defined for the + document before attempting to use it. + +2007-01-01 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Control.cs: fixed ResolveClientUrl, wrong when control that calls + this method and the page are in different folders + +2006-12-31 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: show the validation summary when client validation and + linkbuttons are used. Patch by Juraj Skripsky. + +2006-12-31 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed: EventValidation is not performed for CallBack request. + +2006-12-27 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed: RegisterRequiresPostBack feature. + +2006-12-21 Marek Habersack <grendello@gmail.com> + + * ControlBuilder.cs: Add support for tag mapping in 2.0 + +2006-12-20 Marek Habersack <grendello@gmail.com> + + * TemplateParser.cs: make sure Context.ApplicationInstance is not + valid before adding application assembly. + +2006-12-11 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed and optimized ProcessPostData + The "second try" used for controls that created at OnLoad. + fixed for controls that use RgisterRequeresPostBack to handle post data. + +2006-11-29 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: The specified theme must exist as either an application theme. + If the theme does not exist, an HttpException exception s thrown. + +2006-12-09 Marek Habersack <grendello@gmail.com> + + * HiddenFieldPageStatePersister.cs: Implement the 2.0 class (used + also in the 1.x profile) + + * ObjectStateFormatter.cs: Implement the IStateFormatter interface + + * ClientScriptManager.cs: Use IStateFormatter instead of + LosFormatter. + Use the IStateFormatter interface when registering the hidden + field with the state. + + * LosFormatter.cs: Use ObjectStateFormatter + + * PageStatePersister.cs: Make the class available as internal for + 1.x profile. + Constructor throws an exception on its page parameter being null. + Implemented several properties: ControlState, ViewState, Page, + StateFormatter + + * Page.cs: Use new state persister for all the profiles. + Use the new HiddenFieldPageStatePersister class. + + * IStateFormatter.cs: Make the class available as internal for 1.x profile. + +2006-12-04 Vladimir Krasnov <vladimirk@mainsoft.com> + + * TemplateControl.jvm.cs: fixed TemplateSourceDirectory initialization + +2006-11-29 Marek Habersack <grendello@gmail.com> + + * TemplateParser.cs: if the OutputCache directive is present, make + sure the cache does not expire the current output. + +2006-11-29 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: added missing methods and properties: + AsyncMode + AsyncTimeout + IsAsync + UniqueFilePathSuffix + MaxPageStateFieldLength + ViewStateEncryptionMode + AddOnPreRenderCompleteAsync + AddOnPreRenderCompleteAsync + ExecuteRegisteredAsyncTasks + CreateHtmlTextWriterFromType + RegisterRequiresViewStateEncryption + +2006-11-29 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: Master property returns null when no HttpContext. + +2006-11-29 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: InitializeCulture method is called before OnPreInit. + +2006-11-28 Marek Habersack <grendello@gmail.com> + + * TemplateControlParser.cs: Use the new TemplateParser methods to + register controls/namespaces + + * TemplateParser.cs: Implement support for the + system.web/pages/namespaces collection instead of hard-coding the + namespaces into the source. + Refactoring: added two internal methods to handle both the + system.web/pages/controls registration and the Register directive. + Added a new internal method to pull the system.web/pages/controls + collection before parsing. + +2006-11-27 Marek Habersack <grendello@gmail.com> + + * SimpleWebHandlerParser.cs: Added support for looking up types in + the top-level assemblies (App_Code et al) + +2006-11-27 Igor Zelmanovich <igorz@mainsoft.com> + + * Control.cs: implemented EnsureID method. + +2006-11-27 Igor Zelmanovich <igorz@mainsoft.com> + + * Control.cs: implemented Focus methods. + +2006-11-27 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: implemented SetFocus methods. + * PageLifeCycle.cs: + +2006-11-27 Igor Zelmanovich <igorz@mainsoft.com> + + * ClientScriptManager.cs: refactoring: + extracted method RegisterWebFormClientScript + +2006-11-27 Igor Zelmanovich <igorz@mainsoft.com> + + * Control.cs: implemented OpenFile() + +2006-11-26 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + * Control.cs: + implemented ClearChildState(), ClearChildControlState() and + IsChildControlStateCleared + +2006-11-26 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: + * ClientScriptManager.cs: + implemented RegisterExpandoAttribute feature + +2006-11-23 Igor Zelmanovich <igorz@mainsoft.com> + + * ListSourceHelper.cs: optimization of implementation + +2006-11-23 Igor Zelmanovich <igorz@mainsoft.com> + + * ListSourceHelper.cs: implemented + +2006-11-21 Igor Zelmanovich <igorz@mainsoft.com> + + * DataSourceView.cs: fixed: constructor throws ArgumentNullException + +2006-11-21 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed: PreviousPage property + when CrossPostBack is processed PreviousPage is initialized + only if PreviousPage property is called. + +2006-11-21 Igor Zelmanovich <igorz@mainsoft.com> + + * DataSourceControl.cs: fixed: Focus(), EnableTheming + +2006-11-21 Marek Habersack <grendello@gmail.com> + + * Control.cs: Make ClientIDSeparator private for !NET_2_0 + +2006-11-21 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed: LoadControlState is called for controls + that added on Load and latter + +2006-11-20 Marek Habersack <grendello@gmail.com> + + * Control.cs: Implementations of a few missing properties. + + * Page.cs: Added support for automatic culture detection from the + user's browser. + + * PageParser.cs: Added support for "auto" cultures in the Page + directive. + +2006-11-20 Igor Zelmanovich <igorz@mainsoft.com> + + * ClientScriptManager.cs: fixed: ValidateEvent feature: + client side return eventArgument as empty string + for controls that set it as null + +2006-11-18 Marek Habersack <grendello@gmail.com> + + * ClientScriptManager.cs: Implemented two missing + GetPostBackEventReference overloads. Made one of the overloads + internal for .NET < 2.0. + +2006-11-17 Marek Habersack <grendello@gmail.com> + + * PostBackOptions.cs: Renamed the constructors parameters to match + those Microsoft .NET uses. + targetControl must not be passed null to the constructor. + + * ClientScriptManager.cs: Support for event validation. + Implemented a GetPostBackHyperlink overload. + Implemented the RegisterForEventValidation methods. + Implemented the ValidateEvent method. + Added support for saving/restoring event validation state. + + * Page.cs: EnableEventValidation can be set only from the config + files (the <pages> element), the Page directive or from + Page_Init. After Page_Init returns, an exception is thrown. + Made GetFormatter internal, so that ClientScriptManager can use + it. + Added the internal LifeCycle property which contains the current + life cycle stage of the page request processing. + Added calls to save/restore event validation state. + Added checks for whether child controls of the page support event + validation or not. + Added calls to ClientScriptManager.ValidateEvent in appropriate + places. + + * PageLifeCycle.cs: Added the PageLifeCycle enum, used in event + validation. + +2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: + * ObjectStateFormatter.cs: match MS 1.x and 2.0 behaviour for null and + empty strings. + +2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: 'using' for file reading. + +2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: revert r67514 until after tagging for the next release. + +2006-11-12 Igor Zelmanovich <igorz@mainsoft.com> + + * LiteralControl.cs: fixed: constructors & Text property + +2006-11-09 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed: LoadControlState is called for controls + that added on Load and latter, for 1.x refactoring only + +2006-11-02 Igor Zelmanovich <igorz@mainsoft.com> + + * ClientScriptManager.cs: + fixed: checks arguments for null in public methods, + fixed public interface. + +2006-10-23 Igor Zelmanovich <igorz@mainsoft.com> + + * PostBackOptions.cs: fixed: default values of properties + +2006-10-22 Igor Zelmanovich <igorz@mainsoft.com> + + * CssStyleCollection.cs: + * AttributeCollection.cs: + fixed: style collection is synchronized with style attribute + +2006-10-19 Igor Zelmanovich <igorz@mainsoft.com> + + * ClientScriptManager.cs: fixed: renders id attribute in hidden field + +2006-10-18 Marek Habersack <grendello@gmail.com> + + * TemplateParser.cs: reference System.Resources when compiling a + control. + + * TemplateControl.cs: implement the GetGlobalResourceObject + ASP.NET 2.0 APIs. + +2006-10-12 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed: for 2.0 only + When Page processes Callback IsPostBack = false, but it still needs + LoadViewState/ControlState and ProcessPostData + +2006-10-11 Igor Zelmanovich <igorz@mainsoft.com> + + * DataSourceSelectArguments.cs: fixed: + SortExpression not returns null, + Empty property returns new instance each time + +2006-10-10 Igor Zelmanovich <igorz@mainsoft.com> + + * DataSourceSelectArguments.cs: + fixed: RaiseUnsupportedCapabilitiesError method. + +2006-10-09 Igor Zelmanovich <igorz@mainsoft.com> + + * DataSourceSelectArguments.cs: fixed: Equals method. + +2006-10-09 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CssStyleCollection.cs: don't clear the collection of properties, but + create a new one. + +2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CssStyleCollection.cs: 'style' can be modified on our back, so build + the style table every time instead of keeping one that is not in sync. + Fixes bug #79587. + +2006-09-25 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed: Cross-page postback feature in ASP.NET 2.0 + When page is invoked by cross-page posting, PreviousPage processed all + live-cycle up to OnLoadComplite included. + IsPostBack, IsCallBack and IsCrossPagePostBack returns relevant values. + +2006-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: patch by Joel Reed that makes use of the namespace + collection from the PagesConfiguration to add new namespaces when + generating the page/control code. + +2006-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * PageParser.cs: support the EnableEventValidation attribute. + +2006-09-18 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed: Title property works properly + +2006-09-17 Igor Zelmanovich <igorz@mainsoft.com> + + * ClientScriptManager.cs: added helper method + +2006-09-14 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: fixed: GetValidators(string), Validate(string) works properly + +2006-09-08 Robert Jordan <robertj@gmx.net> + + * Page.cs: assure that RenderTrace is called even if an + exception occurred. Fixes bug #78930. + +2006-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControl.cs: search for the new Page_* event handlers in 2.0. + Patch by Marek Habersack that fixes bug #78268. + +2006-09-07 Lluis Sanchez Gual <lluis@novell.com> + + * Page.cs: Use lowercase getElementById in the javascript that + checks the browser. + +2006-08-22 Vladimir Krasnov <vladimirk@mainsoft.com> + + * KeyedListEnumerator.cs: fixed Current property to return real object + instead of DictionaryEntry + +2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: don't use the Browser object, as it slows down process + request time *a lot*. Fixes bug #79206. + +2006-09-05 Konstantin Triger <kostat@mainsoft.com> + + * Page.cs: Imlemented InitOutputCache(OutputCacheParameters cacheSettings). + * OutputCacheParameters.cs: added an implementation. + +2006-09-04 Igor Zelmanovich <igorz@mainsoft.com> + + * CssStyleCollection.cs: fixed: background-image style attribute + +2006-08-31 Konstantin Triger <kostat@mainsoft.com> + + * StaticPartialCachingControl.cs: added forwarding implementation for + 2.0 version of BuildCachedControl(). + +2006-08-30 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: added internal method + * ClientScriptManager.cs: + +2006-08-30 Igor Zelmanovich <igorz@mainsoft.com> + + * ClientScriptManager.cs: added helper method + +2006-08-22 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Page.cs: fixed ApplyMasterPage, masterPageFile can be empty string + if compiled with .net aspx parser + fixed OnInit, GetStyleSheets may return null if no css files found by + .net aspx parser + +2006-08-22 Vladimir Krasnov <vladimirk@mainsoft.com> + + * TemplateControl.jvm.cs: fixed WireupAutomaticEvents, removed access + modifiers check on event handlers + +2006-08-22 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Control.cs: implemented AppRelativeTemplateSourceDirectory for aspx + parser 2.0 + * TemplateControl.jvm.cs: fixed AppRelativeVirtualPath + fixed TemplateSourceDirectory, should not work on master pages. + +2006-08-20 Vladimir Krasnov <vladimirk@mainsoft.com> + + * MasterPageParser.jvm.cs: fixed path resolving + GetCompiledMasterInstance + +2006-08-17 Vladimir Krasnov <vladimirk@mainsoft.com> + + * TemplateControl.jvm.cs: fixed data binding API, implemented + AppRelativeVirtualPath, ReadStringResource + +2006-08-17 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Page.cs: added stubs to run aspx files compiled by .net + +2006-08-17 Vladimir Krasnov <vladimirk@mainsoft.com> + + * MasterPageParser.jvm.cs: implemented + +2006-08-10 Andrew Skiba <andrews@mainsoft.com> + + * Page.cs: render css path as a virtual path. + +2006-08-09 Robert Jordan <robertj@gmx.net> + + * Control.cs: add the 2.0 ResolveClientUrl method. + Expose ResolveClientUrl as internal for the 1.1 profile. + Fixes bug #77539. + +2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com> + + * added MasterPageParser.jvm.cs + +2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ControlBuilder.jvm.cs: added BuildObject method + +2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ParseChildrenAttribute.cs: fixed ChildControlType property to + compliant to .net + * UserControl.cs: fixed ParseChildren attribute to be compliant + to .net + +2006-08-08 Igor Zelmanovich <igorz@mainsoft.com> + + * Page.cs: implemented MaintainScrollPositionOnPostBack feature + +2006-08-06 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Control.cs: fixed EnableTheming proprty, fixes bug when child + control has EnableTheming=false and parent has true. + +2006-07-31 Vladimir Krasnov <vladimirk@mainsoft.com> + + * MasterPage.cs: fixed default values, fixed AddContentTemplate + +2006-07-31 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Control.cs: fixed EnableTheming proprty, fixes the bug when skins + are applied even if EnableTheming property was set to false. + +2006-07-24 Andrew Skiba <andrews@mainsoft.com> + + * DataSourceView.cs: refactor to keep the original exception stack. + +2006-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * PostBackOptions.cs: default to String.Empty for several field values. + Patch by Marek Habersack. + +2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: when ProcessRequest is not called, get the session from + the current context. Fixes bug #78730. + +2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: fix IsPostback for AJAX calls to match MS behavior. Patch + by Peijen Lin that closes bug #78646. + +2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControlParser.cs: fix compilation caching when more than one + @control is compiled from source. Closes bug #78626. + +2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: add the 2.0 Items property. Fixes bug #78467. + +2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: use the new internal LosFormatter.SerializeToBase64. + * LosFormatter.cs: always work on base 64 strings even if the + input/output is on a Stream. Fixes bug #78640. + +2006-06-08 Konstantin Triger <kostat@mainsoft.com> + + * Page.cs: For loading themes, use '~/App_Themes' instead of + './App_Themes' to enable theme support for files in sub folders. + +2006-05-25 Andrew Skiba <andrews@mainsoft.com> + + * Control.cs: move 2.0 stuff into ifdef NET_2_0 + +2006-05-25 Andrew Skiba <andrews@mainsoft.com> + + * Page.cs, Control.cs: Fix the order of OnInit invocation of controls + created via master page content (see + http://lists.ximian.com/pipermail/mono-devel-list/2006-May/018585.html ). + +2006-05-11 Andrew Skiba <andrews@mainsoft.com> + + * Page.cs, PageTheme.cs: This patch uses LinkedStyleSheets from the + PageTheme and from StyleSheetPageTheme to insert links in page header. + +2006-05-10 Andrew Skiba <andrews@mainsoft.com> + + * TemlpateParser.cs: surround file name with quotes + +2006-05-08 Chris Toshok <toshok@ximian.com> + + * ControlBuilder.cs (ResetState): set renderIndex to 0 here. This + fixes the last thing keeping the test in #76818 from working. + +2006-05-07 Andrew Skiba <andrews@mainsoft.com> + + * Page.cs: if no theme is defined in aspx, read default from web.config. + Same for the style sheet theme. + +2006-04-27 Andrew Skiba <andrews@mainsoft.com> + + * TemplateParser.cs: format according to + http://lists.ximian.com/pipermail/mono-devel-list/2006-April/018096.html + +2006-04-25 Chris Toshok <toshok@ximian.com> + + * PageThemeParser.cs (LinkedStyleSheets): reformat. + +2006-04-25 Konstantin Triger <kostat@mainsoft.com> + + * Control.cs: implementation for IsViewStateEnabled. + +2006-04-25 Andrew Skiba <andrews@mainsoft.com> + + * Control.cs: fix null pointer exception + +2006-04-23 Andrew Skiba <andrews@mainsoft.com> + + * PageThemeParser.cs: add LinkedStyleSheets property + +2006-04-16 Andrew Skiba <andrews@mainsoft.com> + + * TemplateParser.cs: add internal method AddAssemblyByFileName + +2006-04-16 Konstantin Triger <kostat@mainsoft.com> + + * SimpleWebHandlerParser.cs: correctly resolve GACs dependencies. + +2006-04-11 Konstantin Triger <kostat@mainsoft.com> + + * Page.cs, TemplateControl.cs: refactoring implementing Page.GetDataItem(). + +2006-04-10 Chris Toshok <toshok@ximian.com> + + * PageThemeFileParser.cs (AddDirective): allow Register directives + in skin files. + +2006-04-02 Chris Toshok <toshok@ximian.com> + + * Control.cs (DesignMode): always return false for now. Fixes + #77991. + +2006-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ControlBuilder.cs: when creating a default property builder, handle + strings specially. + + * StringPropertyBuilder.cs: new builder used in TextBox 2.0. + +2006-03-15 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ControlCollection.cs: fixed CopyTo method, fixes bug when if target + index is not zero + +2006-03-13 Chris Toshok <toshok@ximian.com> + + * HtmlTextWriterTag.cs: no [Serializable] in 2.0. + + * HtmlTextWriterAttribute.cs: same. + + * HtmlTextWriterStyle.cs: same. + + * VirtualReferenceType.cs: new enum. + +2006-03-13 Chris Toshok <toshok@ximian.com> + + * UserControl.cs: rework InitializeAsUserControl and + InitializeAsUserControlInternal - the Internal variety doesn't set + this.page to null now. + + * MasterPage.cs (CreateMasterPage): map the masterPageFile path, + and also remove a line of spew. + +2006-03-09 Vladimir Krasnov <vladimirk@mainsoft.com> + + * Added PageParser.jvm.cs, WebServiceParser.jvm.cs + +2006-03-07 Chris Toshok <toshok@ximian.com> + + * Page.cs (InitializeStyleSheet): load the style sheet theme using + ThemeDirectoryCompiler. + (InitializeTheme): load the page's theme using + ThemeDirectoryCompiler. + (InternalProcessRequest): call InitializeTheme after OnPreInit. + (FrameworkInitialize): call InitializeStyleSheet. + (PageTheme,StyleSheetPageTheme): new properties to get the + respective themes. + + * Control.cs (ApplyStyleSheetSkin): new method. Calls ApplySkin + on the ControlSkin (if there is one) for this control in the + page's StyleSheetSkin. + (ApplyThemeRecursively): applies the page's theme recursively to + the control hierarchy. Must be done this way because the control + tree is already present when we apply the theme (it has to be, + since theme's override settings). + + * PageTheme.cs (GetControlSkin): add internal call to do the + lookup for us. + + * PageThemeFileParser.cs: the parser object that represents each + individual skin file. + + * PageThemeParser.cs: the parser object that represents the entire + theme directory. + + * PageThemeBuilder.cs: this class generates the right exception on + the right event, but it's not hooked up yet. + +2006-03-02 Chris Toshok <toshok@ximian.com> + + * Control.cs (ApplyStyleSheetTheme): remove the exception, and add + a MonoTODO. + + * Page.cs (Theme): implement setter/getter. + (StyleSheetTheme): same. + + * PageParser.cs (ProcessMainAttributes): parse the Theme and + StyleSheetTheme attributes. + +2006-02-27 Chris Toshok <toshok@ximian.com> + + * TemplateControl.cs: corcompare work. + + * ExpressionBindingCollection.cs: same. + + * HierarchicalDataSourceControl.cs: same. + + * PostBackOptions.cs: same. + + * ClientScriptManager.cs: same. + + * FilterableAttribute.cs: same. + + * ControlCollection.cs: same. + + * DataBindingCollection.cs: same. + + * PropertyEntry.cs: mark ctor internal. + + * SimpleWebHandlerParser.cs: mark the 2.0 ctor as internal. + + * Page.cs: stub out two Theme oriented 2.0 properties. + + * DataBinder.cs: remove the obsolete attribute on the ctor. + + * TwoWayBoundPropertyEntry.cs: remove this. + + * ControlBuilder.cs (BindingContainerType): virtual in 2.0. + + * ThemeProvider: new (stubbed) class. + + * SkinBuilder.cs: same. + + * PageTheme.cs: same. + + * ControlSkin.cs: same. + + * ControlSkinProc.cs: rename this to ControlSkinDelegate.cs. + + * SimplePropertyEntry.cs: mark ctor as internal. + + * IThemeResolutionService.cs: enable the 3 members of this + interface. + +2006-02-27 Chris Toshok <toshok@ximian.com> + + * ListSourceHelper.cs: this class is static. + + * Page.cs: add some EditorBrowsable attributes to the 2.0 events. + +2006-02-27 Chris Toshok <toshok@ximian.com> + + * DataSourceView.cs: Name isn't virtual. + + * DataSourceControl.cs: beat this class over the head with the + corcompare stick. + + * DataSourceControlBuilder.cs: new stubbed control builder for + DataSourceControl. + +2006-02-23 Chris Toshok <toshok@ximian.com> + + * Page.cs: more corcompare work. + +2006-02-23 Chris Toshok <toshok@ximian.com> + + * Page.cs (ProcessCallbackData): track change to + ICallbackEventHandler iface. + + * ICallbackEventHandler.cs: enable the proper members of this + interface. + + * DataSourceSelectArguments.cs: reformat getter/setters. + +2006-02-22 Cesar Lopez Nataren <cnataren@novell.com> + + * HtmlTextWriter.cs: Added method WriteEncodedText for the .NET 2.0 profile. + +2006-02-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * WebHandlerParser.cs: + * WebServiceParser.cs: + * UserControlParser.cs: + * PageParser.cs: added new ctor that uses a TextReader as input. + + * TemplateControlParser.cs: new Reader property. + * SimpleWebHandlerParser.cs: new Reader property and ctor. + +2006-02-12 Cesar Lopez Nataren <cnataren@novell.com> + + * HtmlTextWriter.cs: Implemented IsValidFormAttribute and + WriterBreak for the .NET 2.0 profile. + +2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * IThemeResolutionService.cs: this is now added to the + sources file, but some other stuff does not compile yet as the + interface changed after the beta. + + * ObjectConverter.cs: removed extra attribute. + + * ObjectStateFormatter.cs: add IStateFormatter for 2.0. + + * ICallbackEventHandler.cs: update the interface, but commented the + 'good' stuff out, since other files need to be fixed too. + +2006-02-07 Chris Toshok <toshok@ximian.com> + + * ControlBuilder.cs: rename flushOutputStatements to + methodStatements to at least reflect that they're in that method. + +2006-02-07 Chris Toshok <toshok@ximian.com> + + * MasterPage.cs (CreateMasterPage): don't nullref on null + contentTemplateCollection. + + * ControlBuilder.cs: add a flushOutputStatements field. + + * PageParser.cs (ProcessMainAttributes): handle Title attribute. + (Title): add getter. + + * Page.cs (Title): implement getter/setter. + (InternalProcessRequest): after calling ApplyMasterPage, apply the + page's Title directive if there is one. + (AddContentTemplate): make the EditorBrowsable attribute apply to + the method, not the field. + +2006-02-07 Chris Toshok <toshok@ximian.com> + + * MasterPage.cs: rework this file, adding some static methods + gleaned from MS stack traces, and clear up the propogation of + content templates between nested master pages. + + * Control.cs (TemplateControl): implement. + + * TemplateControl.cs: re-indent some of the code. + (ReadStringRecource): according to msdn2, these throw + NotSupportedException. + + * MasterPageParser.cs (HandleOption): implement. assign our + master page's MasterPageFile from the UserControl property. + + * UserControl.cs (InitializeAsUserControlInternal): new method + that allows initialization without a page. + + * UserControlParser.cs (ProcessMainAttributes): for 2.0 handle + MasterPageFile attributes, so we can have nested master pages. + (MasterPageFile): add a 2.0 specific property. + + * TemplateControlParser.cs: in .net 2.0, our base class is + BaseTemplateParser. + (HandleOptions): be consistent and call base.HandleOptions. + + * BaseTemplateParser.cs: new (stubbed) class. + + * MasterPageControlBuilder.cs: new file, not filled in (and really + not used either.) + + * Page.cs (InternalProcessRequest): call ApplyMasterPage. + (SaveExistingContentTemplates): nuke. + (ReapplyExistingContentTemplate): nuke. + (ApplyMasterPage): if we have a master page, call + MasterPage.ApplyMasterPageRecursive with it and add it to our + controls. + (set_MasterPageFile): remove call to SaveExistingContentTemplates. + (get_Master): call MasterPage.CreateMasterPage. + (AddContentTemplate): keep track of the page's content templates + in a local Hashtable - they aren't our master page's content + templates. + +2006-02-01 Chris Toshok <toshok@ximian.com> + + * TemplateParser.cs: CONFIGURATION_2_0 => NET_2_0, and replace + calls to GetWebApplicationSection with GetSection. + + * SimpleWebHandlerParser.cs: same. + + * Page.cs: same. + + * PageParser.cs: same. + + * BaseParser.cs: same. + +2006-01-27 Chris Toshok <toshok@ximian.com> + + * MasterPage.cs (ContentTemplatesInternal): add get/set for the + actual Hashtable. + + * Page.cs (SaveExistingContentTemplates): store off the existing + MasterPage content templates so they can be reapplied when setting + MasterPageFile to something else. + (ReapplyExistingContentTemplates): set masterPage's + ContentTemplates to our saved copy. + (set_MasterPageFile): save off the current content templates + before clearing masterPage. + (get_Master): reapply the saved content templates after we create + the new MasterPage. + +2006-01-25 Chris Toshok <toshok@ximian.com> + + * ClientScriptManager.cs (RegisterClientScriptResource): last + patch, I swear. How can 1 line of code have 3 bugs? + +2006-01-25 Chris Toshok <toshok@ximian.com> + + * ClientScriptManager.cs (RegisterClientScriptResource): gah, fix + problem with last commit - unquote "resourceName" so it uses the + parameter instead of the string constant. + +2006-01-22 Chris Toshok <toshok@ximian.com> + + * RootBuilder.cs (.cctor): use a 2.0 friendly hashtable ctor to + quiet mcs. + + * PageParser.cs (ProcessMainAttributes): i missed a + CONFIGURATION_2_0 block. + + * BoundPropertyEntry.cs (.ctor): mark as internal to fix + corcompare. + +2006-01-18 Konstantin Triger <kostat@mainsoft.com> + + * ObjectStateFormatter.cs: preserve emptiness in ColorFormatter. + +2006-01-18 Konstantin Triger <kostat@mainsoft.com> + + * HtmlTextWriter.cs: perform case insensitive compare; + return correct key in default case. + +2006-01-11 Chris Toshok <toshok@ximian.com> + + * ClientScriptManager.cs (RegisterClientScriptResource): + implement. + +2006-01-11 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ObjectStateFormatter.cs: Removed TARGET_JVM parts in + TypeFormatter.Read + +2006-01-10 Chris Toshok <toshok@ximian.com> + + * Page.cs (ValidateCollection): in NET_2_0 if event validation is + off, return true. + +2006-01-09 Chris Toshok <toshok@ximian.com> + + * Page.cs: fix a lot of indentation, and add the + EnableEventValidation .net 2.0 property. + +2006-01-09 Vladimir Krasnov <vladimirk@mainsoft.com> + + * ObjectStateFormatter.cs: Merged TARGET_JVM parts in + TypeFormatter.Read, TypeFormatter.Write from /main/5 + +2006-01-09 Konstantin Triger <kostat@mainsoft.com> + + * Page.cs: make ProcessRequest virtual under TARGET_JVM. + +2006-01-04 Chris Toshok <toshok@ximian.com> + + * TemplateParser.cs (.ctor): kinda gross, but handle the + AddAssembliesInBin case here. + + * SimpleWebHandlerParser.cs (.ctor): same. + +2006-01-04 Chris Toshok <toshok@ximian.com> + + * SimpleWebHandlerParser.cs: Remove the declaration of + compilationConfig in the CONFIGURATION_2_0 case. it's + unnecessary. + (.ctor): ifdef out the AddAssembliesInBin call in the + CONFIGURATION_2_0 case. need to revisit this. + (CompilationConfig): add a CONFIGURATION_2_0 version. + + * BaseParser.cs: Remove the declaration of compilationConfig in + the CONFIGURATION_2_0 case. it's unnecessary. + +2005-12-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: use _controls instead of the property wherever possible. + +2005-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: use the _controls field instead of the Controls property. + Fixes bug #76919. + +2005-11-30 Sebastien Pouliot <sebastien@ximian.com> + + * KeyedList.cs: Fixed for IOrderedDictionary change in 2.0 final. + Now internal. + * KeyedListEnumerator.cs: Now internal. + +2005-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ControlCollection.cs: allow 'null' in Remove. + +2005-11-28 Chris Toshok <toshok@ximian.com> + + * Page.cs (GetFormatter): CONFIGURATION_2_0 work. + + * TemplateParser.cs (..ctor): CONFIGURATION_2_0 work. + (PagesConfig): add a CONFIGURATION_2_0 version that returns a + PagesSection. + + * PageParser.cs (ProcessMainAttributes): CONFIGURATION_2_0 work. + + * BaseParser.cs (CompilationConfig): add a CONFIGURATION_2_0 + version that returns a CompilationSection. + +2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: removed 'codebehind' related stuff. + +2005-11-09 Chris Toshok <toshok@ximian.com> + + * ViewStateEncryptionMode.cs: new 2.0 enum. + +2005-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: fixes #76423. Not tested properly. + +2005-11-07 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: call LoadViewStateRecursive when the Form collection has + not been used by a different page (GetTypeHashCode). This fixes problems + when calling Server.Transfer while preserving Form and QueryString, + as the page we transfer to used the view state stored in the Form, which + contained the serialized data for the page calling Server.Transfer + instead. + +2005-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: add/remove the error before/after invoking OnError. + +2005-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: call OnError when there's an exception (not for TAE). Fixes + bug #76572. + +2005-10-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControl.cs: + * PartialCachingControl.cs: if a control is cacheable, LoadControl + returns a PartialCachingControl that holds the VaryBy* and takes care + of partial caching and rendering. Fixes bug #76547. + +2005-10-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: don't cache the 'Validate()' results. IsValid retests + the validators again. + +2005-09-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * DesignerDataBoundLiteralControl.cs: changed autoid api. + * DataBoundLiteralControl.cs: changed autoid api. + + * Control.cs: fixlet for UniqueID and weird test case. Removed + PreventAutoID and only use the property to set that value. + + * LiteralControl.cs: changed autoid api. + +2005-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AttributeCollection.cs: avoid code duplication and + don't add "style" to the bag, or it will overwrite the settings made + by CssStyleCollection. + + * CssStyleCollection.cs: make it throw where MS throws. + Minimize the number of times we create the "style" string and take + care of updating it for the AttributeCollection. FillStyle and + BagToString are now private. One should use the 2.0 (internal in <2.0) + Value property. + +2005-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: fix HasChildViewStates. + +2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: when the default ctor is used, MAC is disabled. + Fixes bug #76240. + +2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ObjectTagBuilder.cs: only fail when no id and no attributes. + +2005-09-23 Sebastien Pouliot <sebastien@ximian.com> + + * DataBindingCollection.cs: Using an hashtable is a nice trick but + we need to copy values (not the DictionaryEntry) in CopyTo. + * Page.cs: IsValid throws an exception if the page hasn't be + validated. VerifyRenderingInServerForm doesn't throw an exception + during unit testing (without a context?) but does in normal ops. + +2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: the exceptions thrown have a 500 httpCode. Really + save the allocation of new MemoryStreams when possible. Thanks to + Sebastien again. + +2005-09-23 Ben Maurer <bmaurer@ximian.com> + + * HtmlTextWriter.cs: Initial support for escaping. + +2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ViewStateOutputHashStream.cs: Removed. It didn't last long. + + * Page.cs: almost restored to its previous state, but now that we found + that LosFormatter ctor that takes 'enableMac', moved the logic to + add the hash and validate there. Thanks to Sebastien for his input. + + * LosFormatter.cs: implemented the missing ctors and support for + "MAC" validation of the data. + +2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: + * ViewStateOutputHashStream.cs: added support for viewstate MAC. It + prevents the viewstate being altered on the client and it's disabled + by default as per the documentation, but MS machine.config has it + enabled in machine.config. + +2005-09-22 Miguel de Icaza <miguel@novell.com> + + * DataBindingCollection.cs: Raise the event, remove MonoTODO. + + * MinimizableAttributeTypeConverter.cs: Fix warning, compare to a + string. + +2005-09-21 Sebastien Pouliot <sebastien@ximian.com> + + * Control.cs: Added null checks for Trace as it can be null when + rendering (like it was for 39 unit tests). + +2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: reverted hacks used with the wrong method of getting a + control rendered size. + * Control.cs: if the trace is enabled, save control rendered size. + +2005-09-19 Sebastien Pouliot <sebastien@ximian.com> + + * Page.cs: Remove references to IPageParser (removed from 2.0 RC). We + now use HtmlHeader directly. + * UrlPropertyAttribute.cs: Removed AllowedTypes property (2.0 RC) and + rewrote Equals to avoid dual type cast. + +2005-09-19 Sebastien Pouliot <sebastien@ximian.com> + + * SupportsEventValidationAttribute.cs: New attribute added in 2.0 RC. + +2005-09-19 Sebastien Pouliot <sebastien@ximian.com> + + * ControlBuilder.cs: Added BuildObject override for 2.0 profile. + * TagPrefixAttribute.cs: Added LinkDemand for AspNetHostingPermission + with Minimal level. Fixed checks on ctor. + * TemplateBuilder.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. + * TemplateContainerAttribute.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. + * TemplateControl.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. Fixed checks/exceptions. + Stubbed IFilterResolutionService for CAS testing. + * TemplateControlParser.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. + * TemplateParser.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. + * ThemeableAttribute.cs: Added LinkDemand for AspNetHostingPermission + with Minimal level. Removed IDispose interface. + * ToolboxDataAttribute.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. Fixed IsDefaultAttribute + to work on both 1.x and 2.0 profiles. + * Triplet.cs: Added LinkDemand and (only for 1.x) InheritanceDemand + for AspNetHostingPermission with Minimal level. + * UserControl.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. Stubbed + IFilterResolutionService for CAS testing. + * UserControlControlBuilder.cs: Added LinkDemand and InheritanceDemand + for AspNetHostingPermission with Minimal level. + * ValidationPropertyAttribute.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. + * ValidatorCollection.cs: Added LinkDemand for AspNetHostingPermission + with Minimal level. + * WebResourceAttribute.cs: Removed extra ctor and added setter to + PerformSubstitution. + * WebServiceParser.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. + +2005-09-15 Sebastien Pouliot <sebastien@ximian.com> + + * ParseChildrenAttribute.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. Simplified Equals to avoid + casting. Added new ctor and public fields (2.0). Changed + ChildControlType setter visibility to internal. + * PartialCachingAttribute.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. Added new ctor and + SqlDependency property (2.0). + * PartialCachingControl.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. + * PersistenceModeAttribute.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. Simplified Equals to avoid + casting. + * PersistChildrenAttribute.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. Simplified Equals to avoid + casting. + * PropertyConverter.cs: Added LinkDemand for AspNetHostingPermission + with Minimal level. Class is static in 2.0. + * RootBuilder.cs: Added LinkDemand and, for 2.0, InheritanceDemand for + AspNetHostingPermission with Minimal level. Class is no more sealed in + 2.0. Added new (2.0) BuiltObjects property. + * SimpleWebHandlerParser.cs: Added LinkDemand and InheritanceDemand + for AspNetHostingPermission with Minimal level. + * StateItem.cs: Added LinkDemand for AspNetHostingPermission with + Minimal level. + * StateBag.cs: Added LinkDemand for AspNetHostingPermission with + Minimal level. Removed SetDirty() which was called (2.0) but did + nothing. + * StaticPartialCachingControl.cs: Added LinkDemand and + InheritanceDemand for AspNetHostingPermission with Minimal level. + +2005-09-15 Sebastien Pouliot <sebastien@ximian.com> + + * Html32TextWriter.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. Added new 2.0 properties + (but the generated HTML doesn't use them). + * HtmlTextWriter.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. + * ImageClickEventArgs.cs: Added LinkDemand for AspNetHostingPermission + with Minimal level. + * LiteralControl.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. Default Text is null. + * LosFormatter.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. Stubbed new 2.0 ctor. + * ObjectConverter.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. Obsoleted ctor for 2.0. + * ObjectTagBuilder.cs: Added LinkDemand for AspNetHostingPermission + with Minimal level. Added check for null id (HttpException). + * Page.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. Throw some HttpException + when no context is available. + * Pair.cs: Added LinkDemand for AspNetHostingPermission with Minimal + level. InheritanceDemand too for 1.x. + * PageParser.cs: Added LinkDemand for AspNetHostingPermission with + Minimal level. + +2005-09-14 Sebastien Pouliot <sebastien@ximian.com> + + * DataBinder.cs: Added LinkDemand for AspNetHostingPermission with + Minimal level. Fixed some exceptions. + * DataBindingCollection.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. Added 2.0 method and + event. + * DataBindingHandlerAttribute.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. + * DataBinding.cs: Added LinkDemand for AspNetHostingPermission with + Minimal level. Simplified Equals (reduced casts). + * DataBoundLiteralControl.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. Implemented ITextControl + for 2.0. + * DesignerDataBoundLiteralControl.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. + * DesignTimeParseData.cs: Added LinkDemand for AspNetHostingPermission + with Minimal level. Added new 2.0 properties. + * DesignTimeTemplateParser.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. Made class static and + stubbed missing methods (2.0). + * EmptyControlCollection.cs: Added LinkDemand and InheritanceDemand + for AspNetHostingPermission with Minimal level. Changed Add* methods + exceptions to HttpException. + +2005-09-14 Sebastien Pouliot <sebastien@ximian.com> + + * AttributeCollection.cs: Added LinkDemand for AspNetHostingPermission + with Minimal level. + * BaseParser.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. + * BasePartialCachingControl.cs: Added LinkDemand and InheritanceDemand + for AspNetHostingPermission with Minimal level. + * CompiledTemplateBuilder.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. + * ConstructorNeedsTagAttribute.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. + * ControlBuilderAttribute.cs: Added LinkDemand for + AspNetHostingPermission with Minimal level. Simplified Equals and + IsDefaultAttribute. + * ControlBuilder.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. + * ControlCachePolicy.cs: Hided ctor and removed SupportsCaching setter + * ControlCollection.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. Fixed possible stack + overflow in Add* methods. Fixed CopyTo as we're not allocating the + array based on the number of items. + * Control.cs: Added LinkDemand and InheritanceDemand for + AspNetHostingPermission with Minimal level. Fixed 2.0 signatures. + * CssStyleCollection.cs: Added LinkDemand for AspNetHostingPermission + with Minimal level. + * IStyleSheet.cs: Fixed parameter orders (2.0). + +2005-09-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: default VS 2005 pages are compiled fine now. + +2005-09-07 Chris Toshok <toshok@ximian.com> + + * MinimizableAttributeTypeConverter.cs: new class, whose existence + we know about because of corcompare, and for whose implementation + we have exclusively nunit to thank. + +2005-09-06 Chris Toshok <toshok@ximian.com> + + * RootBuilder.cs (.cctor): doh, add all the new html controls + here. + +2005-08-31 Chris Toshok <toshok@ximian.com> + + * DataSourceSelectArguments.cs (Empty): this is apparently, + according to corcompare, a property, not a field. go figure. + (Equals): implement. + (IsEmpty): remove all mention of it. + +2005-08-29 Chris Toshok <toshok@ximian.com> + + * StateBag.cs (GetChar): add. + +2005-08-28 Chris Toshok <toshok@ximian.com> + + * Page.cs: more random corcompare work. + (PageAdapter): implement. + +2005-08-28 Chris Toshok <toshok@ximian.com> + + * Page.cs (.ctor): set our initial ID to "__Page". + (SmartNavigation): obsolete in 2.0. + (FindControl): new implementation. Just check our own ID against + the control we're looking for. otherwise pass it along to + base.FindControl. + (GetPostBackClientHyperlink): obsolete in 2.0. + +2005-08-28 Chris Toshok <toshok@ximian.com> + + * ClientScriptManager.cs: public sealed in 2.0 + + * IAdaptableTextWriter.cs: new 2.0 interface. + + * IHierarchyData.cs: fix return type for GetParent. + +2005-08-28 Chris Toshok <toshok@ximian.com> + + * Pair.cs: mark serializable and sealed in 2.0. + +2005-08-26 Sebastien Pouliot <sebastien@ximian.com> + + * CssStyleCollection.cs: Implemented setter for Value (2.0) using the + existing (but internal) FillStyle method. Rewrote BagToString to use an + HtmlTextWriter so we get the "right" format for background-image url. + +2005-08-26 Sebastien Pouliot <sebastien@ximian.com> + + * CssStyleCollection.cs: Implemented this[HtmlTextWriterStyle], + Remove(HtmlTextWriterStyle) and the getter for Value (all 2.0). Removed + the extra space from last patch because they break some unit tests. + +2005-08-26 Lluis Sanchez Gual <lluis@novell.com> + + * CssStyleCollection.cs: Added some spacing. + * HtmlTextWriter.cs: Made style and attribute tables static. + Implemented StaticGetStyleName(). + +2005-08-26 Sebastien Pouliot <sebastien@ximian.com> + + * CssStyleCollection.cs: Stubbed new 2.0 stuff to allow TableStyleTest + compilation. + * HtmlTextWriter.cs: Fix style rendering for BackgroundImage in 2.0. + The new rendering formats the value as "url(" + original + ")". + +2005-08-26 Sebastien Pouliot <sebastien@ximian.com> + + * HtmlTextWriter.cs: Added support for VerticalAlign style (as it + depends on the HtmlTextWriterStyle ordering). + +2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HtmlTextWriter.cs: remove 'mistaken end of statement' and FIXME. + +2005-08-25 Sebastien Pouliot <sebastien@ximian.com> + + * HtmlTextWriterStyle.cs: Added missing VerticalAlign in 2.0 (which + fixed the rest of the enum values). + * UrlPropertyAttribute.cs: Removed the .ctor accepting an UrlTypes + parameter to match 2.0 API. Added a setter to the AllowedTypes + property. + +2005-08-24 Chris Toshok <toshok@ximian.com> + + * Control.cs (get_Adapter): Instead of throwing an exception, just + return null, so we can write the rest of the Control specific + Adapter code and just not enable any of those code paths until we + have actual adapters. Also flag TODO. + (EnsureChildControls): Call out to Adapter.CreateChildControls if + we have an adapter. + (RenderChildren): call "RenderControl (writer, adapter)" if we + have an adapter. + (RenderControl): implement the adapter case naively. + (LoadRecursive): call out to Adapter.OnLoad if we have one. + (PreRenderRecursiveInternal): call out to Adapter.OnPrerender if + we have one. + (InitRecursive): call out to Adapter.OnInit if we have one. + +2005-08-24 Chris Toshok <toshok@ximian.com> + + * Page.cs (GetPostBackEventReference): track change to + ClientScriptManager and don't call a removed method. + + * ClientScriptManager.cs: track more recent docs and corcompare + output. + +2005-08-24 Sebastien Pouliot <sebastien@ximian.com> + + * KeyedList.cs: Fixed bug when removing an unexisting object. + * StateManagedCollection.cs: Fixed API for beta2. Fixed buglets found + in implementing RoleGroupCollection. + +2005-08-22 Sebastien Pouliot <sebastien@ximian.com> + + * Page.cs: Use Control property (and not the _control variable) to get + the User (so the virtual Control property can be overriden properly). + Sadly this doesn't seems to be the case for other properties (like + Request). + +2005-08-18 Dick Porter <dick@ximian.com> + + * ControlCachePolicy.cs, PersistChildrenAttribute.cs, + UserControl.cs, DesignerDataBoundLiteralControl.cs, + PageStatePersister.cs, DataBoundLiteralControl.cs, Control.cs, + BasePartialCachingControl.cs, LiteralControl.cs: 2.0 API fixes and + stubs and attribute fixes + +2005-08-13 Sebastien Pouliot <sebastien@ximian.com> + + * Control.cs: Add protected virtual SetDesignModeState, in 2.0 + profile, as this is required for the Login control. + +2005-08-11 Dick Porter <dick@ximian.com> + + * CssStyleCollection.cs: Tweak the css string format to pass a + unit test + + * AttributeCollection.cs: Don't NRE if someone sets the "style" + attribute to null. + +2005-08-05 Ben Maurer <bmaurer@ximian.com> + + * HtmlTextWriter.cs: Revert the patch below, see test case + +2005-08-05 Dick Porter <dick@ximian.com> + + * HtmlTextWriter.cs: Make <option> tags render inline, to match + the ms output + +2005-08-03 Ben Maurer <bmaurer@ximian.com> + + * HtmlTextWriter.cs: Optmize this not to do insane amounts of + allocation for large pages, etc. + +2005-07-30 Chris Toshok <toshok@ximian.com> + + * Page.cs (VerifyRenderingInServerForm): copy MS's error message + since our form-errors jsunit tests depend on it. + +2005-07-30 Chris Toshok <toshok@ximian.com> + + * DataBinder.cs (FormatResult): make internal, not private. + +2005-07-29 Ben Maurer <bmaurer@ximian.com> + + * StateBag.cs: Don't remove when tracking viewstate, as per msft + docs. + +2005-07-29 Ben Maurer <bmaurer@ximian.com> + + * StateBag.cs: Actually *remove* items that are null. Duh. + +2005-07-21 Peter Dennis Bartok <pbartok@novell.com> + + * Page.cs: Need to throw exception when accessing Request but no + context exists + +2005-07-20 Chris Toshok <toshok@ximian.com> + + * ClientScriptManager.cs (GetClientValidationEvent): the JS we + stick in onclick handlers for buttons/links/etc. + + * Page.cs (GetSubmitStatements): new function to return + scriptManager.WriteSubmitStatements. Used by HtmlForm. + (AreValidatorsUplevel): used by many of the button/linkbutton + controls (the ones that can CauseValidation) to tell whether or + not to emit client side validation calls. + +2005-07-20 Chris Toshok <toshok@ximian.com> + + * WebResourceAttribute.cs: make internal (and available) in + !NET_2_0. + +2005-07-20 Chris Toshok <toshok@ximian.com> + + * ClientScriptManager.cs (GetWebResourceUrl): make internal (but + available) in !NET_2_0. + +2005-07-18 Peter Dennis Bartok <pbartok@novell.com> + + * Control.cs: Added IDataBindingsAccessor interface methods + +2005-07-18 Ben Maurer <bmaurer@ximian.com> + + * HtmlTextWriter.cs: Fix nested indentation + +2005-07-18 Peter Dennis Bartok <pbartok@novell.com> + + * Control.cs: Added missing IParserAccessor.AddParsedSubObject + interface method + +2005-07-18 Ben Maurer <bmaurer@ximian.com> + + * HtmlTextWriter.cs: Fix indentation (somewhat at least) + +2005-07-18 Peter Dennis Bartok <pbartok@novell.com> + + * Control.cs: + - Default name for controls on MS.Net is "_ctl" not "_ctrl" + - MS does not append 'a' for auto-generated names + +2005-07-17 Ben Maurer <bmaurer@ximian.com> + + * AttributeCollection.cs: Use the invariant culture. + + * StateBag.cs: "Duh" optimization: return null when there are no + dirty items in the view state + +2005-07-14 Ben Maurer <bmaurer@ximian.com> + + * StateBag.cs: A "short" version of my favorite method. + + * HtmlTextWriter.cs: New method to get the tag name staticly. + +2005-07-14 Duncan Mak <duncan@novell.com> + + * DataBindingHandlerAttribute.cs: Fixed after receiving some + comments from Gonzalo. + +2005-07-13 Jackson Harper <jackson@ximian.com> + + * PropertyConverter.cs: No public constructors. + +2005-07-13 Ben Maurer <bmaurer@ximian.com> + + * HtmlTextWriter.cs: Remove debugging spew. Style cleanup + +2005-07-12 Ben Maurer <bmaurer@ximian.com> + + * HtmlTextWriter.cs: Make styles work. + +2005-07-11 Peter Dennis Bartok <pbartok@novell.com> + + * AttributeCollection.cs: + - Changes to match MS behaviour, the "style" attribute is always + added to the list, in addition to being added to the + CssStyleCollection. Also added check for "style" attribute when + setting via index setter + - When "Style" attribute is added, CssStyleCollection is + automatically created + - The style keyword needs to be lowercase + +2005-07-11 Ben Maurer <bmaurer@ximian.com> + + * HtmlTextWriter.cs: Missing a PopEndTag here. + + * PropertyConverter.cs: Pass tests + +2005-07-09 Miguel de Icaza <miguel@novell.com> + + * DataBindingHandlerAttribute.cs: Create the "Default" property. + +2005-07-09 Duncan Mak <duncan@novell.com> + + * DataBindingHandlerAttribute.cs: Implemented. + +2005-07-08 Ben Maurer <bmaurer@ximian.com> + + * HtmlTextWriter.cs: Much better compliance with msft + +2005-07-08 Jackson Harper <jackson@ximian.com> + + * ToolbarDataAttribute.cs: New implementation. + +2005-07-07 Jackson Harper <jackson@ximian.com> + + * PropertyConverter.cs: New implementation. + +2005-07-07 Ben Maurer <bmaurer@ximian.com> + + * StateBag.cs: Noticed an issue where SetDirty was called when the + key did not exist. + +2005-07-07 Ben Maurer <bmaurer@ximian.com> + + * StateBag.cs: Add a method that gets a string or else a default + value. + +2005-07-07 Dick Porter <dick@ximian.com> + + * StateBag.cs: Added internal SetDirty (void) method to fix the + build + +2005-07-07 Sebastien Pouliot <sebastien@ximian.com> + + * HtmlTextWriter.cs: Small fixlet when attribute has no value. + +2005-07-07 Miguel de Icaza <miguel@novell.com> + + * HtmlTextWriter.cs: Return the stuff in lowercase to pass the + tests. + + * StateBag.cs: Add NET_2_0 SetDirty method to get the build + going. + +2005-07-07 Sebastien Pouliot <sebastien@ximian.com> + + * HtmlTextWriter.cs: Small fixlet (required for the unit tests). + +2005-07-06 Ben Maurer <bmaurer@ximian.com> + + * HtmlTextWriter.cs: Make sure to clear attributes when they are + written. + + * StateBag.cs: New impl + +2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: + * Control.cs: avoid the creation of the EventHandlerList and accessing + to it whenever possible. Fix ENABLE_THEMING constant. + +2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: + * TemplateControlParser.cs: + * UserControlParser.cs: detect circular references when a control tries + to register itself as a tag. Fixes bug #75376. + +2005-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * PageParser.cs: don't try to compile the master page if it wan't + provided. Use MapPath from the base classes instead of the long + version. Fixes bug #75269 that prevented xsp2 from working properly. + +2005-06-13 Lluis Sanchez Gual <lluis@novell.com> + + * MasterPage.cs: Clear the default content of placeholders before + adding the page content. Fixes bug #75193. + +2005-06-13 Lluis Sanchez Gual <lluis@novell.com> + + * PageParser.cs: Added MasterType property. Get the type from the + MasterType directive. + * MasterPageParser.cs: Added GetCompiledMasterType method. + +2005-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * UserControl.cs: + * Page.cs: + * Control.cs: updates for 1.1 SP1 + +2005-06-06 Lluis Sanchez Gual <lluis@novell.com> + + * Control.cs: Added new DataBind() overload for 2.0. The old + method calls this new overload. + +2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: ignore empty assembly.Location for in-memory + generated assemblies. + +2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: added AddContentTemplate method. + +2005-05-26 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AttributeCollection.cs: html-encode attribute values. Fixes + bug #73771. + +2005-05-26 Lluis Sanchez Gual <lluis@novell.com> + + * DataSourceView.cs: Fix api. + * NonVisualControlAttribute.cs: Implemented. + * IDataItemContainer.cs: Added missing properties. + * Control.cs: Added new EnableTheming and SkinID properties. + * HierarchicalDataSourceControl.cs: Implemented missing methods. + +2005-05-13 Lluis Sanchez Gual <lluis@novell.com> + + * ControlCollection.cs: Added internal setter for ReadOnly. + +2005-05-09 Geoff Norotn <gnorton@customerdna.com> + + * TemplateParser.cs: Silently remove the CodeFile attribute that ASP.NET 2.0 + uses instead of codebehind. + +2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: as setting CurrentCulture is slow, don't set it if the + culture has not changed since before the page started processing. + +2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: LoadWithPartialName returns null if the assembly is + not found. + +2005-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: + * SimpleWebHandlerParser.cs: removed values assigned and neved used. + +2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: + * TemplateParser.cs: always get the location (full path) for assemblies, + even the ones from the GAC. + + * BaseCompiler.cs: check that DynamicBase directory exists before + creating the TempFileCollection. + +2005-04-22 Lluis Sanchez Gual <lluis@novell.com> + + * ClientScriptManager.cs: Use a linked list instead of a Hashtable + to store the scripts. In this way, scripts will be rendered in the + same order as they have been registered. It shouldn't be slower + since pages don't have many scripts. + +2005-04-21 Lluis Sanchez Gual <lluis@novell.com> + + * IEditableTextControl.cs: Implemented. + * DataBinder.cs: Marked constructor as obsolete in 2.0. + In GetDataItem, check for the IDataItemContainer interface + in the container. + * TemplateControl.cs: Improved check for data item. + +2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: we still need LoadWithPartialName if Load fails. + * Page.cs: ensure _requiresPostBack is emptied if we didn't have a copy + for second postback. + +2005-04-20 Rafael Teixeira <rafaelteixeirabr@hotmail.com> + * TemplateParser.cs: Adding support for Strict/Explicit attributes + for @Page/@Control directives as documented at + http://msdn.microsoft.com/library/en-us/cpgenref/html/cpconControlDirective.asp. + First step don't choke on them. Fixing #74671 + +2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: use Load instead of LoadWithPartialName. That was + there from the time when Load wasn't working properly. First part of the + fix to 74500. + +2005-04-15 Lluis Sanchez Gual <lluis@novell.com> + + * ControlBuilder.cs: The BindingContainerType property happens + to exist in 2.0, so I made it public. Added ParentTemplateBuilder, + which is used to get the binding container that is managing + the current two-way binding context. + * TemplateBuilder.cs: Added some methods and an internal class + to support two-way bindings. + * CompiledBindableTemplateBuilder.cs: Implemented. + * IBindableTemplate.cs: This interface inherits from ITemplate. + +2005-04-14 Lluis Sanchez Gual <lluis@novell.com> + + * ControlBuilder.cs: Added BindingContainerType property, + which works like NamingContainerType but takes into account + template builders with a specific container type (specified + using the TemplateContainerAttribute. + * StateManagedCollection.cs: Reimplemented Save/Load view + state methods. The existing implementation was not correct + in all cases. + +2005-04-08 Lluis Sanchez Gual <lluis@novell.com> + + * DataSourceView.cs: Added null check. + +2005-04-07 Lluis Sanchez Gual <lluis@novell.com> + + * TemplateControl.cs: + * Page.cs: Moved Eval and XPath from Page + to TemplateControl. + * StateManagedCollection.cs: Avoid saving null state. + +2005-04-01 Lluis Sanchez Gual <lluis@novell.com> + + * DataSourceView.cs: Rethrow exceptions not handled by operation + callbacks. + * ITextControl.cs: Removed event. + * CollectionBuilder.cs: Don't crash when a collection has more + than one indexer. + +2005-03-23 Lluis Sanchez Gual <lluis@novell.com> + + * Control.cs: Added a new internal property: HasRenderMethodDelegate. + * HtmlTextWriterAttribute.cs: Replaced wrong enum value. + * HtmlTextWriter.cs: Register new ASP.NET 2.0 attributes + +2005-03-16 Lluis Sanchez Gual <lluis@novell.com> + + * ClientScriptManager.cs: Fix build. + +2005-03-11 Lluis Sanchez Gual <lluis@novell.com> + + * Utils.cs, Control.cs: Don't use Page.GetPostBackClientEvent + since it is deprecated in 2.0. + * Page.cs: Deprecated GetPostBackClientEvent and similar methods + in 2.0. Moved callback management methods to ClientScriptManager. + * ClientScriptManager.cs: Moved here deprecated methods from Page. + In GetPostBackEventReference (PostBackOptions), don't use the + WebForm_DoPostback script if the post can be done with a simple + __doPostBack call. + * PostBackOptions.cs: Fixed default values for some properties. + +2005-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: in FindControl, throw if there's more than one control + with the same ID. Fixes bug #73479. + +2005-03-04 Lluis Sanchez Gual <lluis@novell.com> + + * Page.cs: Load control state before loading view state, and the + same for saving. + * DataSourceSelectArguments.cs: Fix recursive property call. + +2005-02-25 Lluis Sanchez Gual <lluis@novell.com> + + * DataSourceView.cs: Fixed incorrect implementation of + RaiseUnsupportedCapabilityError. + * IDataItemContainer.cs: Added new properties. + * Page.cs: Implemented Form property. + * Control.cs: Fixed formatting. + * StateManagedCollection.cs: Track view state of items loaded + in LoadViewState. + +2005-02-22 Lluis Sanchez Gual <lluis@novell.com> + + * FilterableAttribute.cs: Fix endless loop. + +2005-02-18 Lluis Sanchez Gual <lluis@novell.com> + + * Page.cs: Implemented missing events. + +2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * BoundPropertyEntry.cs: + * PropertyEntry.cs: + * TwoWayBoundPropertyEntry.cs: implemented. + +2005-02-10 Lluis Sanchez Gual <lluis@novell.com> + + * Page.cs: Added support for validation groups. Some fixes in + SavePageControlState(). + * IFilterResolutionService.cs: Removed extra field. + * INavigateUIData.cs: Added missing field. + * ICheckBoxControl.cs, IStaticTextControl.cs, ITextControl.cs: + Implemented new interfaces. + +2005-02-04 Lluis Sanchez Gual <lluis@novell.com> + + * Page.cs: Implemented support for cross page postback. Implemented + support for postback with options. Fixed several method and property + signatures for 2.0. + * PostBackOptions.cs: Added some TODOs. + +2005-02-02 Lluis Sanchez Gual <lluis@novell.com> + + * ParseChildrenAttribute.cs: Set the correct default value for the + childType property. + +2005-01-28 Lluis Sanchez Gual <lluis@novell.com> + + * ParseChildrenAttribute.cs: Added 2.0 property. + * Pair.cs, Triplet.cs: Make classes serializable and sealed in 2.0. + * Page.cs: Added support for control state. + * TemplateBuilder.cs: ContainerType should be internal. + * Control.cs: Added some new 2.0 methods. + +2005-01-21 Lluis Sanchez Gual <lluis@novell.com> + + * PageParser.cs: Read the MasterPageFile attribute. + * UserControlParser.cs: Not sealed any more since we need to inherit from + it. Added new constructor with an additional "type" parameter. + * MasterPageParser.cs: Parser for master pages. + * Page.cs: Added support for master pages. + * MasterPage.cs: Implemented. + +2005-01-10 Lluis Sanchez Gual <lluis@novell.com> + + * TemplateBuilder.cs: Added a special constructor that takes an + attribute provider as parameter. The container type for the template + may be defined in a TemplateContainerAttribute. + * ControlBuilder.cs: Create the TemplateBuilder using that special + constructor. + * TemplateContainerAttribute.cs: Added 2.0 property and ctor. + +2004-12-20 Lluis Sanchez Gual <lluis@novell.com> + + * IStyleSheet.cs: Added missing "using". + * Page.cs: Implemented Header property. + * CssStyleCollection.cs: Made BagToString method internal. + * RootBuilder.cs: Register HtmlHead control. + +2004-12-17 Lluis Sanchez Gual <lluis@novell.com> + + * CssStyleCollection.cs: Minor (!) fix. + * HtmlTextWriter.cs: Register names for new 2.0 styles. + +2004-12-17 Lluis Sanchez Gual <lluis@novell.com> + + * CssStyleCollection.cs: Make it work as a standalone collection. + * HtmlTextWriter.cs: Added static method for getting style names. + +2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ControlCollection.cs: fix off-by-one and store a null at the end to + remove the reference to the removed control. + +2004-12-10 Lluis Sanchez Gual <lluis@novell.com> + + * ClientScriptManager.cs: Added GetScriptLiteral helper method. + +2004-12-02 Lluis Sanchez Gual <lluis@novell.com> + + * Page.cs: Added support for callback events. Moved theform variable + outside the __doPostBack function, so it can be used by other + scripts. + * StateBag.cs: Implemented SetDirty(). + +2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: when saving "Visible" into the ViewState, save the value + for this precise control, as using the Visible property might give us + Control's parent visibility. Fixes bug #69200. + +2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: fixed ResolveUrl for relative URLs when using cookie-less + sessions. + + * System.Web.Util/UrlUtils.cs: made (Insert|Get|Remove)SessionId use + the appRoot + SessionID + vpath format. + + Fixes the 3 issues reported in bug #66623. + +2004-11-26 Lluis Sanchez Gual <lluis@novell.com> + + * Page.cs: Moved code for managing client scripts to ClientScriptManager, + which is public in 2.0 and internal in 1.1. + * ClientScriptManager.cs: Implemented. + +2004-11-25 Sanjay Gupta <gsanjay@novell.com> + + * DataSourceView.cs: Removed extra method. + +2004-11-24 Sanjay Gupta <gsanjay@novell.com> + + * DataSourveViewSelectCallback.cs: Corrected method signature. + +2004-11-23 Lluis Sanchez Gual <lluis@novell.com> + + * ControlBuilder.cs: Always check for the ParseChildrenAttribute, + even if the class doesn't implement IParserAccessor. + * WebResourceAttribute.cs: Allow multiple attributes of this type. + +2004-11-15 Lluis Sanchez Gual <lluis@novell.com> + + * DataSourceView.cs: Moved here implementation of DataSourceViewChanged + from SqlDataSourceView.cs. + +2004-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: unified a few bool fields into an int one. + + * ControlCollection.cs: use an array internally instead of always + allocating an arraylist. Also added our own enumerator. + + * EmptyControlCollection.cs: there's no 'special' ctor now in the base + class. + +2004-11-05 Sanjay Gupta <gsanjay@novell.com> + + * DataSourceView.cs: Changes in access modifiers of methods. + +2004-10-20 Sanjay Gupta <gsanjay@novell.com> + + * DataSourceCapabilities.cs: Added Flags attribute. + * DataSourceSelectArguments.cs: Updated. + * DataSourveView.cs: Updated. + +2004-10-19 Sanjay Gupta <gsanjay@novell.com> + + * HierarchicalDataSourceView.cs: Corrected class definition and updated. + +2004-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HierarchicalDataSourceView.cs: fix typo. + +2004-10-18 Sanjay Gupta <gsanjay@novell.com> + + * HierarchicalDataSourceView.cs: Updated. + +2004-10-18 Sanjay Gupta <gsanjay@novell.com> + + * DataSourceSelectArguments.cs: Initial implementation. + +2004-10-12 Sanjay Gupta <gsanjay@novell.com> + + * UrlPropertyAttribute.cs: Corrected implementation of Equals () method. + +2004-10-12 Sanjay Gupta <gsanjay@novell.com> + + * UrlTypes.cs: Updated. + +2004-10-12 Sanjay Gupta <gsanjay@novell.com> + + * UrlPropertyAttribute.cs: Added new file. + +2004-10-01 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: even if the control has no children the naming container + may contain the control we're looking for. Fixes bug #67304. + +2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AspGenerator.cs: added OtherTags. + +2004-09-24 Sanjay Gupta <gsanjay@novell.com> + + * ControlValuePropertyAttribute.cs: Initial implementation. + +2004-09-24 Sanjay Gupta <gsanjay@novell.com> + + * IPaginationContainer.cs: Corrected name of class. + +2004-09-24 Sanjay Gupta <gsanjay@novell.com> + + * IDReferencePropertyAttribute.cs: Completed implementation. + +2004-09-24 Sanjay Gupta <gsanjay@novell.com> + + * ThemeableAttribute.cs: + * FilterableAttribute.cs: Code scrubbing and optimization. + +2004-09-14 Sanjay Gupta <gsanjay@novell.com> + + * ThemeableAttribute.cs: Completed implementation. + +2004-09-14 Sanjay Gupta <gsanjay@novell.com> + + * FilterableAttribute.cs: Completed implementation. + +2004-09-14 Sanjay Gupta <gsanjay@novell.com> + + * Control.cs: Added new attributes and a method. + * FilterableAttribute.cs: New attribute, initial implementation. + * ThemeableAttribute.cs: New attribute, initial implemenataion. + +2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: ensure bin directory exists before trying to access + it. Fixes bug #65446 (not closed yet due to dependencies). + +2004-09-09 Sanjay Gupta <gsanjay@novell.com> + + * Control.cs: Implemented methods of interface IExpressionAccessor. + +2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: correctly cache Type instead of the + assembly for ashx/asmx. Otherwise we need to open the file and check + for the class name in there. Thanks to Ben for pointing this out. + +2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: removed creation of StringWriter. It's not used. + * Control.cs: don't create the EventHandlerList until requested. + +2004-09-03 Sanjay Gupta <gsanjay@novell.com> + + * Control.cs: Added new interfaces implemented in .Net 2.0. + * ExpressionBinding.cs: Added new class. + * ExpressionBindingCollection.cs: Added new class. + +2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LiteralControl.cs: stylized. This control has EnableViewState disabled + by default and doesn't get an automatic ID. When text is null -> "". + +2004-08-31 Sanjay Gupta <gsanjay@novell.com> + + * ControlSkinProc.cs: + * DataSourceViewOperationCallback.cs: + * DataSourceViewSelectCallback.cs: + * ExtractTemplateValuesMethod.cs: Explicit modifier "sealed" not + required in definition as delegates by default are sealed. + +2004-08-31 Sanjay Gupta <gsanjay@novell.com> + + * IDReferencePropertyAttribute.cs: Corrected and changed from interface + to class. + * IMobileTextWriter.cs: Corrected method signatures. + +2004-08-09 Sanjay Gupta <gsanjay@novell.com> + + * ControlSkinProc.cs: + * DataSourceViewOperationCallback.cs: + * DataSourceViewSelectCallback.cs: + * ExtractTemplateValuesMethod.cs: Added new delegates. + +2004-08-06 Sanjay Gupta <gsanjay@novell.com> + + * IBindableTemplate.cs: + * ICallbackEventHandler.cs: + * IControlBuilderAccessor.cs: + * IControlDesignerAccessor.cs: + * IControlTypeFilter.cs: + * IDataItemContainer.cs: + * IDataSourceViewSchemaAccessor.cs: + * IDReferencePropertyAttribute.cs: + * IExpressionsAccessor.cs: + * IFilterResolutionService.cs: + * IItemPaginationInfo.cs: + * IMobileTextWriter.cs: + * IPageHeader.cs: + * IPaginationContainer.cs: + * IPaginationInfo.cs: + * IResourceResolutionService.cs: + * IResourceUrlGenerator.cs: + * IStateFormatter.cs: + * IStyleSheet.cs: + * IThemeResolutionService.cs: + * IUrlResolutionService.cs: + * IUserControlTypeResolutionService.cs: Added new files for Interfaces. + +2004-08-05 Sanjay Gupta <gsanjay@novell.com> + + * PostBackOptions.cs: Added new file and implemented the class. + +2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HtmlTextWriterTag.cs: readded author name. + +2004-08-04 Sanjay Gupta <gsanjay@novell.com> + + * HtmlTextWriterAttribute.cs: + * HtmlTextWriterStyle.cs: Added .Net 2.0 enumerations. + * CompilationMode.cs: + * ConflictOptions.cs: + * DataSourceCacheExpiry.cs: + * DataSourceCapabilities.cs: + * DataSourceOperation.cs: + * TemplateContentType.cs: + * TemplateInstance.cs: + * UrlTypes.cs: + * VerificationConditionalOperator.cs: + * VerificationReportLevel.cs: + * VerificationRule.cs: + * XhtmlMobileDocType.cs: Added enumerations. + +2004-07-27 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: style. Reverted previous patch modification of + TemplateSourceDirectory (failed when the control is reparented). Use + HasControls() and Controls all over instead of _controls, as Controls + property and HasControls() might be overriden. + +2004-07-27 Alon Gazit <along@mainsoft.com> + + * Control.cs: Changed the implementation of TemplateSourceDirectory + and GetDefaultName(). replaced foreach statements with for statements, + in order to improve performence. + +2004-07-27 Alon Gazit <along@mainsoft.com> + + * Page.cs: changed the implementation of GetViewStateString(). + if the view state object is null there is no need to perform + Serialization. + +2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControl.cs: don't include private methods of base classes when + auto-attaching events. Fixes bug 61569. + +2004-07-14 Alon Gazit <along@mainsoft.com> + + * HtmlTextWriter.cs: changed the Hashtables to case insensitive. +2004-07-08 Pablo Baena <pbaena@gmail.com> + + * Page.cs: added workaround for __doPostBack script on Netscape 4.xx + +2004-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: added additional checks for saving/displaying trace data. + + * PageParser.cs: removed checks for trace enabled in configuration + files. + +2004-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ControlCollection.cs: when clearing the control collection, tell the + owners about the removal. Fixes bug #60800. + +2004-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: don't nullify _context after processing the request as there + are events not triggered yet. Fixes bug #60726. + +2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HtmlTextWriter.cs: only create a closing tag for unknown tags. Fixes + bug #60681. + +2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * PageParser.cs: + * UserControlParser.cs: set the page/user control base type even when no + default directive provided. Fixes bug #60572. + +2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * PageParser.cs: use default trace settings from web.config and check + if trace is only requested for local connections. Fixes bug #60180. + +2004-06-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: implemented GetCompiledTypeFromCache. When + we read the default directive, check the cache for the Type and if + present, don't keep reading and store the type found. + + * WebHandlerParser.cs: + * WebServiceParser.cs: try GetCompiledTypeFromCache before actually + compiling. + +2004-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: properly fixed bug #59794. + +2004-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: + (ResolveUrl): fixed typo when dealing with relative urls. Closes bug + #59794. + +2004-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: + * TemplateParser.cs: pass the language when compiling from a file. + +2004-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: if we have a global.asax, move its + reference to the end to help mcs loading the assemblies. Fixes bug + #58768. + + * TemplateParser.cs: same as above. Removed some kludges to workaround + loading assemblies from bin path that are now in the runtime. Don't + load the assemblies in bin if not needed, but still reference them + when compiling. + +2004-06-07 Alon Gazit <along@mainsoft.com> + * Page.cs: Changed Page.ProcessPostData(). + After the change ,the state of controls that aren't visible is saved + during a postback. + +2004-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: removed obsolete MonoTODO from RegisterOnSubmitStatement. + +2004-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: IsPostBack also returns true when method is GET and we have + viewstate information in the query string. Fixes bug #58151. + +2004-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: removed obsolete TODO. Only check if Trace is enabled, not + HttpRutime.TraceManager. + + * PageParser.cs: for 'trace' we have 2 variables now. Added support + for 'buffer' attribute. + +2004-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: implemented ClientTarget. + * PageParser.cs: support for clientTarget and check for validity. + +2004-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: + * Html32TextWriter.cs: + * HtmlTextWriter.cs: + * SimpleWebHandlerParser.cs: + * TemplateControl.cs: Added protected missing members and attributes. + +2004-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ObjectStateFormatter.cs: use ObjectFormatter methods instead of + calling a protected method of another object. + +2004-06-03 Atsushi Enomoto <atsushi@ximian.com> + + * ObjectStateFormatter.cs : csc build fix. Protected Read()/Write() + (of other objects) are called in TypeConverterFormatter. + +2004-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ObjectStateFormatter.cs: before choosing the binary formatter, check + if the object type has a TypeConverter that can convert to/from string. + Fixes bug #59495. + + * Page.cs: call GetViewStateString from outside the WriteLine. This + allows writing to the Response when getting the string without breaking + the HTML generated. + +2004-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HtmlTextWriter.cs: render end tag for unknown tags. + Patch frmo Markus Krutner. Fixes bug #59466. + +2004-05-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: call DeterminePostBackMode only once per request. Patch by + Evain Jb. + +2004-05-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Html32TextWriter.cs: stub contributed by Matthijs ter Woord + [meddochat]. + + * ObjectTagBuilder.cs: remove the HasBody override as MS does not have + that. + +2004-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: + * TemplateParser.cs: for the assembly names given in the 'assembly' + attribute, use LoadWithPartialName instead of Load. +2004-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: return HttpContext.Current if _context has not yet been + assigned to. Fixes bug #55245. + +2004-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: don't add import statement or assemblies from + global.asax to every file. Fixes bug #55496. + +2004-03-09 Juraj Skripsky <juraj@hotfeet.ch> + + * DataBinder.cs: allow unquoted string expressions (e.g. "[test]") and + handle single quotes and a few corner cases correctly (see test cases). + +2004-03-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControl.cs: fixed typos and added new method names to the set + of page events. + +2004-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ControlBuilder.cs: added SetTagName(). + + * ObjectTagBuilder.cs: use SetTagName so that we can properly close + <object> builders if the closing tag is provided. + +2004-02-16 Jackson Harper <jackson@ximian.com> + + * Page.cs: Set cacheability for Location.DownStream. + +2004-02-10 Jackson Harper <jackson@ximian.com> + + * TemplateParser.cs: Use full path if the assembly is in the + private bin directory. Patch by Gonzalo Paniagua Javier. + +2004-02-09 Jackson Harper <jackson@ximian.com> + + * Page.cs: Set cacheability for server side caching. + +2004-01-30 Jackson Harper <jackson@ximian.com> + + * Control.cs: Ensure that dynamically loaded controls are + initialized. + +2004-01-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ApplicationFileParser.cs: check for error in directives. Use + GlobalAsaxCompiler.CompileApplicationType for compiling. + + * ObjectTagBuilder.cs: load the Type and check for errors. + + * TemplateParser.cs: add assemblies and imports from global.asax. + + Now we properly create accessors for session and application objects in + the application itself, pages and controls. First step for fixing + bug #53387. + +2004-01-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControl.cs: small speedup for WireUpautomaticEvents. Thanks + to Eric Lindvall for pointing this out. + +2004-01-15 Jackson Harper <jackson@ximian.com> + + * TemplateParser.cs: Detect if we are parsing a control or page + properly. + * Page.cs: vary by params and vary by headers can be null now. + +2004-01-15 Martin Willemoes Hansen <mwh@sysrq.dk> + + * HtmlTextWriter.cs: Fixed OutputTab routine to generate correct + indention. + +2004-01-14 Jackson Harper <jackson@ximian.com> + + * Page.cs: If we have a postback that wasn't sent through a + postback script (ie user hit submit on a input type=submit) call + Validate so page validation occurs. This fixes bug #52770. + +2004-01-14 Jackson Harper <jackson@ximian.com> + + * Page.cs: Don't tell the response to cache anymore. This is done + when the cacheability is modified by a callback. Set the cache's + duration. + +2004-01-14 Jackson Harper <jackson@ximian.com> + + * TemplateParser.cs: If varybyparam is set to "none" make it null + so we dont get a param named null in the outputcache key. + +2004-01-14 Jackson Harper <jackson@ximian.com> + + * BasePartialCachingControl.cs: Use varyby attributes in key + generation. + +2004-01-14 Jackson Harper <jackson@ximian.com> + + * TemplateParser.cs: Add all the outputcache attribute error + messages. + +2004-01-13 Jackson Harper <jackson@ximian.com> + + * TemplateParser.cs: Add VaryByControls and Shared output cache + properties. These are not assigned yet. + * TemplateControlParser.cs: Do not ignore the OutputCache + attribute. + * BasePartialCachingControl.cs: Initial implementation. Keys are + still not created properly. + * StaticPartialCachingControl.cs: Assign properties in base class, + implement CreateControl. + +2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ApplicationFileParser.cs: adde DefaultBaseTypeName property. + + * PageParser.cs: support validateRequest. + + * TemplateControlParser.cs: get default values from system.web/pages + section. + + * TemplateParser.cs: added separate method for changing base type + (Inherits or system.web/pages). + + * UserControlParser.cs: support system.web/pages defined base type. + +2004-01-11 Andreas Nahr <ClassDevelopment@A-SoftTech.com> + + * UserControl.cs: Added missing attribute, implemented method + * Page.cs: Added missing attribute, implemented method + +2004-01-10 Jackson Harper <jackson@ximian.com> + + * Page.cs: Handle trace being enabled in the config file. + +2004-01-10 Jackson Harper <jackson@ximian.com> + + * Page.cs: Save trace data before rendering it. + * System.Web.dll.sources: Add TraceData.cs + +2004-01-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: removed a couple of MonoTODO on methods we're not gonna + implement. Applied patch from Jan Jaros (mono-bug@jerryweb.info) to + ensure that Unload event is raised. Fixes bug #52555. + +2004-01-02 Zoltan Varga <vargaz@freemail.hu> + + * KeyedList.cs: 'private' is not allowed on explicit interface + implementations. Fixes 1.2 build. + +2003-12-31 Jackson Harper <jackson@ximian.com> + + * TemplateControlParser.cs: When registering tag prefixs make sure + the file exists and throw the correct error if it does not. + +2003-12-25 Jackson Harper <jackson@ximian.com> + + * Page.cs: Throw error if the session is accessed when sessions + are disabled. + +2003-12-18 Jackson Harper <jackson@ximian.com> + + * Page.cs: Write Trace info. + +2003-12-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: new ctor for 1.1. The default ctor is public. + * Page.cs: added ViewStateUserKey and made RegisterclientScriptFile + internal. + * PageParser.cs: the ctor is public. + * PartialCachingAttribute.cs: added new ctor and Shared property. + +2003-12-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: assign the ErrorPage to the context if we get an exception + when processing the page which only calls Unload. + + * PageParser.cs: handle ErrorPage. + +2003-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ObjectStateFormatter.cs: added formatters for Unit and FontUnit, which + are not [Serializable]. Fixes bug #52244. + +2003-12-16 Jackson Harper <jackson@ximian.com> + + * Page.cs: Render trace data when tracing is enabled. + +2003-12-15 Jackson Harper <jackson@ximian.com> + + * PageParser.cs: Add Trace and Trace mode attributes. + +2003-12-15 Jackson Harper <jackson@ximian.com> + + * Page.cs: Use the context trace object. + +2003-12-14 Alon Gazit <along@mainsoft.com> + * AttributeCollection.cs: Changed AttributeCollection.Render(). + After the change attributes ,that their value is null, aren't + rendered. + +2003-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: remove a few dangling ^M, don't set values for fields + that has the default value. If Visible is modified and we're tracking + viewstate, save and restore it. Fixes bug #48689. + +2003-12-11 Jackson Harper <jackson@ximian.com> + + * Control.cs: Give null for the ID if it hasn't been explicitly + set. This fixes bug #51520. + +2003-12-08 Jackson Harper <jackson@ximian.com> + + * PageParser.cs: Ignore the SmartNavigation attribute for now. + +2003-12-05 Jackson Harper <jackson@ximian.com> + + * DataBinder.cs (GetIndexedPropertyValue): Check if container is + an IList and use a cast instead of reflection to retrieve the item + if it is. Fixes bug #51759. + +2003-12-04 Alon Gazit <along@mainsoft.com> + * Page.cs: Changed Page.ID so it will call Control.ID. + Fixed Bug 51682. + +2003-12-02 Jackson Harper <jackson@ximian.com> + + * Page.cs: Implemented registered array declarations. Patch by + Benjamin Jemlich <pcgod@gmx.net> + +2003-12-02 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: basic check for 'classname' attribute and added + patch by pcgod@gmx.net for bug #51568, which fixes automatic class + names for pages starting with a number. + +2003-11-30 Ben Maurer <bmaurer@users.sourceforge.net> + + * LosFormatter.cs: Use ObjectStateFormatter. Pretty big size + reduction. + + * ObjectStateFormatter.cs: Comment out tracing. + +2003-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: fixed UICulture, LCID and Culture. Set the thread + [UI]Culture before processing the request. + + * PageParser.cs: read Culture, UICulture and LCID attributes. Added + properties for these. Partially contributed by Mohammad Damt. + + Fixes bug #51511. + +2003-11-27 Jackson Harper <jackson@ximian.com> + + * TemplateParser.cs: Ignore aspCompat attribute. This fixes bug + 51434. + +2003-11-22 Ben Maurer <bmaurer@users.sourceforge.net> + + * ObjectStateFormatter.cs: Fix bug when reading small ints. + Add some tracing so we can see what is going on. + +2003-11-21 Jackson Harper <jackson@ximian.com> + + * Page.cs: Set vary by params when cache location is Server. + +2003-11-21 Ben Maurer <bmaurer@users.sourceforge.net> + + * ObjectStateFormatter.cs: v2 file. In v1.x this will be + internal as LosFormatter will eventually use it to save + the view state. + +2003-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * PersistChildrenAttribute.cs: + * PersistenceModeAttribute.cs: implemented. + + * TODO: Removed file. + * OutputCacheLocation.cs: + * TemplateControlParser.cs: + * HtmlInputFile.cs: class status based fixes. + +2003-11-19 Jackson Harper <jackson@ximian.com> + + * Page.cs: Always set the cache expire time. Tell the response to + cache itself for server side cached pages. + +2003-11-19 Jackson Harper <jackson@ximian.com> + + * Control.cs: Remove ResolveBaseUrl. ResolveUrl does the same + thing, some corner cases still need work though. Was this the + shortest lived method in the history of mono? + +2003-11-19 Jackson Harper <jackson@ximian.com> + + * Control.cs: New method for resolving urls that use ~/ to denote + the applications base directory. + +2003-11-19 Jackson Harper <jackson@ximian.com> + + * TemplateParser.cs: Fix typo in error message. + +2003-11-19 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControlParser.cs: support @Reference. Fixes bug #49572. Thanks + to Sanjay Gupta. + +2003-11-19 Todd Berman <tberman@gentoo.org> + + * KeyedList.cs: + * KeyedListEnumerator.cs: New v2 implementations. + +2003-11-17 Ben Maurer <bmaurer@users.sourceforge.net> + + * StateManagedCollection.cs: Implement. + +2003-11-13 Jackson Harper <jackson@ximian.com> + + * Page.cs: Initial implementation of InitOutputCache. + * TemplateParser.cs: Page OutputCache options + +2003-11-09 Ben Maurer <bmaurer@users.sourceforge.net> + + * HierarchicalDataSourceControl.cs: Implement. + +2003-11-09 Ben Maurer <bmaurer@users.sourceforge.net> + + * XPathBinder.cs: Implemented. + +2003-11-08 Ben Maurer <bmaurer@users.sourceforge.net> + + * DataSourceView.cs: + * IDataSource.cs: + * ListSourceHelper.cs: + * DataSourceControl.cs: + * HierarchicalDataSourceView.cs: + * IHierarchicalDataSource.cs: Move v2 stuff. + +2003-11-07 Jackson Harper <jackson@ximian.com> + + * Control.cs (ResolveUrl): Special case for urls that consist of + only a page anchor. ie <a href="#top">. This fixes bug #50165. + +2003-11-07 Ben Maurer <bmaurer@users.sourceforge.net> + + * IHierarchicalEnumerable.cs: + * IHierarchyData.cs: + * INavigateUIData.cs: New v2 interfaces. + +2003-11-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: patch by Alon Gazit <along@mainsoft.com> to remove extra + space in generated javascript. + +2003-11-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: encoding updates. + * Page.cs: implemented CodePage and ContentType. + * PageParser.cs: handle CodePage, ContentEncoding and ResponseEncoding + attributes. + +2003-11-04 Ben Maurer <bmaurer@users.sourceforge.net> + + * Control.cs (GetWebResourceUrl): new v2 function + * Page.cs (GetWebResourceUrl): ditto. + make the JS we generate work with moz if the form is not a child + of document. + * WebResourceAttribute.cs: Added, new v2 attribute. + +2003-10-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * DesignTimeTemplateParser.cs: added FIXME related to PageParser. + + * PageParser.cs: initialize the parser in the constructor, not just + before compiling and reference the application assembly. + + * SimpleWebHandlerParser.cs: reference the assembly that contains the + application Type. + + * TemplateControl.cs: + * TemplateControlParser.cs: fix BenM #1 bug. Now we pass correct virtual + path and physical path when compiling a user control. + + * TemplateParser.cs: new AddApplicationAssembly (). + * UserControlParser.cs: now we get valid values in the ctor. + + Referencing the application assembly fixes bug #49652. + + +2003-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControl.cs: moved NoParamsInvoker class to its own file. + +2003-10-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * BaseParser.cs: added CompilationConfig property. + + * TemplateParser.cs: + * SimpleWebHandlerParser.cs: added CompilationConfig property. + Don't hardcode assembly names any more, assemblies in bin are added + depending on the configuration. The default language is also taken + from the configuration. + +2003-10-13 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: fixed bug #49604. Patch by yaronsh@mainsoft.com. + +2003-10-13 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: removed some debug lines. + * Page.cs: implemented RegisterOnSubmitStatement + * TemplateControl.cs: fixed wire up for methods with no parameters. + +2003-10-13 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * PageParser.cs: ignore ValidateRequest by now. + +2003-10-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.UI/TemplateControl.cs: support for wiring up events without + parameters. + +2003-10-08 Pedro Martnez Juli <yoros@wanadoo.es> + + * PageParser.cs: drop some useless code. + +2002-10-29 Gaurav Vaish <gvaish_mono AT lycos.com> + + * Utils.cs : GetScriptLocation(HttpContext) - Partial Implementation. + +2003-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.UI/PageParser.cs: + * System.Web.UI/TemplateControlParser.cs: honour the input file given + as argument. + +2003-09-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: + (ClearChildViewState): doh! Don't clear control viewstate but the + viewstate of possible children. + (LoadViewStateRecursive): load viewstate even when control is not + visible. + Fixes bug #49024. + The rest are just dangling ^M removed. + + * DataBoundLiteralControl.cs: + (LoadViewState): we get an object [], not a string []. + +2003-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: implemented ClearChildViewState (). + +2003-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: store unique IDs for controls requiring postback. Fixes bug + #47985. + +2003-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: add the ashx/asmx file itself to the + dependencies so that it's recompiled when changed. + +2003-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: fixed Deserialize for empty viewstate. + +2003-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: check if controls that require postback have + been changed by an event and register them to be notified of data + changed event. + +2003-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: patch by yaronshkop@hotmail.com (Yaron Shkop) that fixes + bug #47866. + +2003-08-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: handle Unit and FonrUnit as special cases as they + are not serializable. Fixes bug #47784. + +2003-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: index the viewstates saved by the control position, not + the control name. Fixes bug #47697. + +2003-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ControlCollection.cs: + * EmptyControlCollection.cs: create a minimum ArrayList for this. + + * BaseParser.cs: added setter for BaseVirtualDir. + + * Page.cs: fixed message when restoring view state fails. + * UserControlParser.cs: set the BaseVirtualDirectory to handle the case + when a relative path to the control is given. Fixes bug #47685. + +2003-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: when we load the viewstate for a control that has children + viewstates and the child is not found, keep its viewstate around and + wait until the child is added to load the viewstate. Fixes bug #47697. + +2003-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControl.cs: more Delegate.CreateDelegate fixes. + +2003-08-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com> + + * PartialCachingControl.cs: is not abstract + +2003-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleHandlerFactory.cs: implemented GetHandler. + * WebHandlerParser.cs: new file that parses .ashx files. + +2003-07-30 Andreas Nahr <ClassDevelopment@A-SoftTech.com> + + * PersistenceModeAttribute.cs: Fixed wrong AttributeUsage + +2003-07-30 Andreas Nahr <ClassDevelopment@A-SoftTech.com> + + * UserControl.cs: Added attribute + * BasePartialCachingControl.cs: New class and paritally implemented + * DesignerDataBoundLiteralControl.cs: New class and implemented + * DesignTimeTemplateParser.cs: + * PartialCachingControl.cs: + * StaticPartialCachingControl.cs: New class and paritally implemented + +2003-07-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com> + + * ApplicationFileParser.cs: Fixed signature + * DesignTimeParseData.cs: Added missing properties, implemented + * Page.cs: Added attributes + * PageParser.cs: + * TemplateControlParser.cs: + * TemplateParser.cs: + * UserControlParser.cs: Fixed signature + +2003-07-17 Andreas Nahr <ClassDevelopment@A-SoftTech.com> + + * HtmlControlPersistableAttribute.cs: Added + * IgnoreUnknownContentAttribute.cs: Added + +2003-07-17 Andreas Nahr <ClassDevelopment@A-SoftTech.com> + + * IUserControlDesignerAccessor.cs: Added and implemented + * Control.cs: Missing member added, added all attributes + * Page.cs: Added attributes, fixed signature + * TemplateControl.cs: Fixed signature, added all attributes + * UserControl.cs: Added all attributes, added and implemented missing interface + +2003-07-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ControlCollection.cs: fixed bug #46472. + +2003-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: implemented GetTypeFromBin. + +2003-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: updated to new compilation interface. + + * TemplateParser.cs: use the new parameter when compiling. + +2003-07-01 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: also keep the value for the second try on handling postback + events. + +2003-05-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * BaseParser.cs: fixed MapPath for non-rooted files. + * PageParser.cs: don't pass a non-virtual file around. + * TemplateControlParser.cs: InputFile uses MapPath now. Take care of + the exception teh may be throw by MapPath on an invalid path. + + * TemplateParser.cs: removed unused method. + * UserControlParser.cs: modified inputfile. The result is the same, but + this one is better. + +2003-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * RootBuilder.cs: throw exception when the tagprefix is not valid or + not found. + +2003-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControlParser.cs: return after processing @Register. + +2003-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: Added support for server side includes. + +2003-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateControl.cs: fixed the flags used to find the methods that + are automatically hooked up on events. + + * TemplateParser.cs: don't compile a source file directly. Use the + cache instead. + +2003-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * BaseParser.cs: Location property is now here. Added a couple of + convenience methods to throw a ParseException. + + * TemplateParser.cs: + * TemplateControlParser.cs: + * PageParser.cs: throw ParseException where appropiate. + +2003-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ApplicationFileParser.cs: use the generator to actually parse the + file. + + * ControlBuilder.cs: small fix in NamingContainerType because + TemplateBuilders have a null ControlType. When a control is appended + to a parent, assign the child's parent. + + * UserControlParser.cs: fixed the value of InputFile. + +2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ApplicationFileParser.cs: store the Context and override + BaseVirtualDir so that it's the application path. + + * BaseParser.cs: removed CurrentVirtualPath property. + + * TemplateControlParser.cs: use BaseVirtualDir. + + * UserControlParser.cs: removed CurrentVirtualPath. + +2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: always reference all the assemblies in bin + directory. + +2003-04-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ApplicationFileParser.cs: it works now. Prior to these changes, we + were using the compiler directly. + + * BaseParser.cs: added some useful properties and methods. + + * CodeBuilder.cs: use ILocation. + * CodeRenderBuilder.cs: use ILocation. + * CollectionBuilder.cs: use the RootBuilder to map tag names into Types. + + * ControlBuilder.cs: made it useful. + + * DataBindingBuilder.cs: the control type for data bound text is + DataBoundLiteralControl now. + + * ObjectTagBuilder.cs: store some object tag attributes. + + * PageParser.cs: handle page-only directives. + + * RootBuilder.cs: bah. + * SimpleWebHandlerParser.cs: made it dummy. + * TemplateControl.cs: Modified file. + + * TemplateControlParser.cs: handle directives that are common to pages + and user controls. + + * TemplateParser.cs: utility methods and handling of directives that + are common to app, page and user controls. + + * UserControl.cs: added ControlBuilderAttribute. + + * UserControlControlBuilder.cs: builder for user controls. + * UserControlParser.cs: use the new interfaces. + +2003-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ControlBuilder.cs: line and fileName are protected now. + + * CodeBuilder.cs: base class for the next 2 files. + * CodeRenderBuilder.cs: builder for code render. + * DataBindingBuilder.cs: builder for data binding. + +2003-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ITagNameToTypeMapper.cs: made it internal. + + * ObjectTagBuilder.cs: builder for <object runat="server"> tag. + * ObjectTag.cs: + * RootBuilder.cs: initial builder. + +2003-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CollectionBuilder.cs: + * TemplateBuilder.cs: new classes derived from ControlBuilder that + represent a property or a ITemplate. + + * ControlBuilder.cs: implemented all the missing bits. + * TemplateParser.cs: added mapping from tag name to Type feature. + +2003-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: have i definitely fixed naming container stuff this time? + + * LosFormatter.cs: activated binary serialization code. + +2003-02-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: + (AddedControl): fixed default id assignation when the sequence of + AddedControl until it's included in the page or one of its controls + does not pass through a naming container. + +2003-02-09 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: give different default names depending on the place where + it is assigned. Implemented ResolveURl (no more ~ rendered in + attributes!). + +2003-02-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: when adding a control, assign default names to th + children that don't have one. + +2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: modified to use the new parser interface. + +2003-01-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: some more tweaks to naming containers stuff. + * DataBinder.cs: don't throw exception if the container is null. + + * Page.cs: now we can render client scripts, startup scripts and hidden + fields. Only render __VIEWSTATE if there is someone that will take care + of it. + (RaisePostBackEvents): first try the last one that required raise event, + then try __EVENTTARGET. + +2003-01-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: fixes in UniqueID, FindControl, AddedControl, + UnloadRecursive, InitRecursive. Reduced the size of __VIEWSTATE. Made + FindControl work with NamingContainers. + + * ControlCollection.cs: notify the parent when clearing the collection. + + * LosFormatter.cs: Added debugging output and generate a valid + viewstate even for unknown types. + + * Page.cs: GetPostBackEventReference now uses UniqueID. Reduced + viewstate. + +2003-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: make it fire the LoadData related events also for controls + such as ImageButton, whose variable(s) in the query string are of the + form ctrl_name.x and only fire them once per control. + +2003-01-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * DataBinder.cs: + (GetPropertyValue): don't try to get the property as indexed + +2003-01-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * DataBinder.cs: use TypeDescriptor to get the properties and their + values. + +2003-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: + (AddedControl): take the children to the same state of the parent. + (InitRecursive): set the page of the children. + + * Page.cs: removed one line (it's done a few lines above). + + * UserControl.cs: + (OnInit): always call InitializeAsUserControl + (InitializeAsUserControl): sets the page for the control. + +2003-01-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: fixed bug #36037. + +2002-12-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * BaseParser.cs: a couple of path fixes to make it work + when the page is not in the root directory. + +2002-12-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: fixed PreRenderRecursiveInternal. Thanks to kojoadams for + reporting the bug. + +2002-12-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * BaseParser.cs: use MapPath and context to locate files. + * Control.cs: implemented MapPathSecure. + * TemplateControl.cs: use UrlUtils to generate the path. + * TemplateControlParser.cs: use the context and MapPath. + * UserControl.cs: implemented MapPath. + * UserControlParser.cs: added context parameter to constructor. + +2002-12-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: implemented MapPathSecure. + * Page.cs: fixed Server property. + +2002-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * DataBinder.cs: try the indexer if the property is not found in + GetPropertyValue (). + +2002-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: added AutoEventWireup internal property. + + * Page.cs: removed page events wire up from here. + + * TemplateControl.cs: new method WireupAutomaticEvents to hook up page + and user controls events. + + * TemplateControlParser.cs: process the options that are applicable + once we have the instance of the control. + + * TemplateParser.cs: also stores the options. + + * UserControl.cs: hook up events before initializing the control. + + +2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: new method to set bindingContainer value. + * TemplateControl.cs: added controls are not binding containers. + +2002-12-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: implemented TemplateSourceDirectory. + * TemplateControl.cs: implemented LoadControl and LoadTemplate. + +2002-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * UserControl.cs: fixed SetAttribute. + * UserControlParser.cs: set the correct base type. + +2002-11-26 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * TemplateParser.cs: fixed BaseType. + * UserControlParser.cs: helper class to compile user controls. + +2002-11-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: added DateTime to special types. + +2002-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: added array serialization support. Disabled binary + serialization and add some debugging code. + + * StateBag.cs: the length of the list of value can be less than the + length if the list of keys when remaining values are null. + +2002-11-07 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: return something useful in GetPostBackClientEvent. + +2002-11-02 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: implemented FileDependecies and made it protected. + +2002-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: save control names instead of the controls + themselves to the ViewState. + + * LosFormatter.cs: added support for serializing unknown + types. BinaryFormatter does not work so you better don't store anything + of unknown Type in ViewState. + + * Page.cs: GetViewStateString works now using LosFormatter. + Complete "Control execution lifecycle" by unloading all the child + controls. Check for null in RaisePostBackEvents. + LoadPageViewStateFromPersistenceMedium uses LosFormatter too. + +2002-10-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * DataBinder.cs: implemented Eval and GetIndexedPropertyValue methods. + +2002-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: Use WebEncoding.Encoding. + + * Control.cs: + * Page.cs: fixed namespace. + +2002-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: set the context in ProcessRequest. Added a few trace calls. + * Control.cs: added some trace information. + +2002-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleHandlerFactory.cs: new handler for .ashx files. + +2002-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.UI/PageHandlerFactory.cs: new file. + * System.Web.UI/PageParser.cs: + * System.Web.UI/TemplateControlParser.cs: we are now able to compile + pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest. + +2002-09-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: implemented ObBubbleEvent. + * Page.cs: temporary workaround to make POST work with xsp server. + +2002-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: fixed InvokeEventMethod now that Type.GetMethod does not + return pvt methods. + +2002-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * SimpleWebHandlerParser.cs: New file. + * WebServiceParser.cs: New file. + +2002-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LosFormatter.cs: almost fully implemented. + +2002-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompiledTemplateBuilder.cs: InstantiateIn is virtual. + * EmptyControlCollection.cs: throw correct exception. + * LosFormatter.cs: stubbed out. + * OutputCacheLocation.cs: little fix. + +2002-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.UI/ApplicationFileParser.cs: + * System.Web.UI/BaseParser.cs: + * System.Web.UI/PageParser.cs: + * System.Web.UI/TemplateControl.cs: + * System.Web.UI/TemplateControlParser.cs: + * System.Web.UI/TemplateParser.cs: first steps to move xsp into + System.Web. + +2002-07-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: request to render postback script can be after form started + rendering. + +2002-07-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: added more page events to invoke automagically if some + methods are defined. + +2002-07-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: + (SaveViewState): save state even when control is not visible. + (SaveViewStateRecursive): + (LoadViewStateRecursive): made internal. + +2002-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: improved event raising to allow client postback for a wider + variety of actions (clicking an hyperlink, ...). + +2002-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * UserControl.cs: implemented Load/SaveViewState. + +2002-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AttributeCollection.cs: + (Add): handle 'style' through styleCollection. + + * CssStyleCollection.cs: + (fillStyle): renamed to FillStyle and made it internal. + + * Page.cs: + (GetViewStateString): fixed, broken after other recent changes. + (ProcessPostData): allow a second try for postback data after OnLoad. + (ProcessRequest): clear controls collection, removed call to + UnloadRecursive. + +2002-07-19 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: uncommented Dispose. + + * Page.cs: + (DeterminePostBackMode): more checkings. + (GetPostBackClientHyperLink): implemented. + (GetPostBackEventReference): added some comments with the HTML that MS + generates for that. + (ProcessRequest): fixed processing order. The page is unloaded after + a request and regenerated from view state on subsequents posts. + +2002-07-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: fixed related to ViewState. Added RemovedControl. + + * ControlCollection.cs: notify owner of control removal. + + * CssStyleCollection.cs: almost rewritten to make it render the style + attribute after changes to it. + + * Page.cs: follow the guidelines in 'Control execution lifecycle'. + Removed Xml code. + + * StateBag.cs: don't use IDictionary.GetEnumerator on the + HybridDictionary: it makes the program give an InvalidCastException at + runtime. Why? + +2002-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: fire Init and Load events for all children. + +2002-07-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * UserControl.cs: New file. + +2002-07-13 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ControlBuilderAttribute.cs: finished implementation. + +2002-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ConstructorNeedsTagAttribute.cs: the default constructor sets the + property to false. + +2002-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.UI/AttributeCollection.cs: added CssStyleCollection. + + * System.Web.UI/CssStyleCollection.cs: use a StateBag instead of a + Hashtable. Added internal .ctor. + + * System.Web.UI/DataBinding.cs: propertyType is a Type. Implemented + Equals and GetHashCode. + + * System.Web.UI/DataBoundLiteralControl.cs: + (LoadViewState): + (SaveViewState): implemented. + + * System.Web.UI/Page.cs: FileDependencies is not public. + + * System.Web.UI/ParseChildrenAttribute.cs: give a value to Default. + (GetHashCode): + (Equals): + (IsDefaultAttribute): implemented. + +2002-07-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: fixed Visible property. + * Page.cs: fixed GetViewStateString. + +2002-07-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.UI/Page.cs: + (GetViewStateString): new function to give the server access to the + generated view state string. + (Validate): d'oh! + +2002-07-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: + (SaveViewstateRecursive): implemented. + (SaveViewState): fixed. + (IParserAccessor.AddParsedSubObject): don't use 'this'. + + * Page.cs: added code to save view state to an xml file. It's not + being used right now. + +2002-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.UI/LiteralControl.cs: + Fixes based on class status page: + + - Add attributes (DefaultEvent, ParseChildren). + - Fix declarations. + - Explicitly implement some interfaces (IPostBackDataHandler + and IPostBackEventHandler). + - Implemented some missing methods. + +2002-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: reimplemented FindControls. + + * Page.cs: + (.ctor): set the page for this control. + (IsPostBack): return valid value. + (DeterminePostBackMode): finished. + (OnFormRender): render __VIEWSTATE (uses GetTypeHashCode()). + (ProcessPostData): implemented. Raises change and postback events. + (ProcessRequest): changed to support reuse of the instance. + (RegisterRequiresPostBack): implemented. + + * ValidatorCollection.cs: implemented all methods. + +2002-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: + * Page.cs: first attemp to save view state. + + * HtmlForm.cs: don't render Action. + +2002-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: implemented more properties using information we already + have in Context. + (OnFormRender): + (OnFormPostRender): + (VerifyRenderingInServerForm): implemented. + +2002-06-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: changed InvokeEventMethod to use a GetMethod that works with + out runtime. Renamed Page_Init and Page_Load. + + After this, we can load a dll and render HTML in linux. + +2002-06-20 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: + (AddedControl): new function that is called whenever a control is + added to a collection of controls in a container. It sets the defaults + except for Page. + + * ControlCollection.cs: call AddedControl in Add/AddAt. + + * DataBoundLiteralControl.cs: implemented constructor, Text, Render, + SetStaticString and SetDataBoundString. + + * Page.cs: removed SetDefaults. + +2002-06-19 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * CompiledTemplateBuilder.cs: new file. Used in the code generated + by xsp. + + * Control.cs: + (BindingContainer): implemented. + (EnsureChildControls): avoid stack overflow. + + * DataBinder.cs: implemented Eval and PropertyValue. + +2002-06-18 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * HtmlTextWriter.cs: fixed style attributes rendering (almost the same + bug as in regular attributes). + +2002-06-17 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: implemented PreventAutoID. + + * Page.cs: + (SetDefaults): don't set ID automatically if Control.PreventAutoID has + been called. + +2002-06-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: + (Validators): if the collection is null, create one. + (GetPostBackEventReference 2): don't throw exception. + (GetPostBackClientEvent): return a string with containing the method + name, the control name and the argument. + +2002-06-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: SetPage is now called SetDefaults and also sets a default + ID for controls that don't have one yet. + +2002-06-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: + (GetPostBackClient): + (RegisterRequiresPostBack): don't throw NotImplementedException to + keep going. + (ProcessRequest): set the current page as the Page property for *all* + the controls, not just the direct children of the page. + +2002-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: + (MapPathSecure): until security is implemented, return the same path + received as argument. + (RenderControl): call OnPreRender before rendering the control. So + AdRotator can read its configuration file.Is there any other place + where this should be done? + + * HtmlTextWriter.cs: + (AddAttribute): fixed. Now it really stores attributes. + (RenderBeginTag): fixed a couple of bugs (little ones but hard to find). + +2002-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ControlCollection.cs: + (AddAt): if index is -1 behave as a plain Add. + +2002-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: for each child control to render, assign Control.Page. + Probably also needed in HtmlContainerControl derived classes. + +2002-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * AttributeCollection.cs: don't need a Hastable. StateBag now works + fine and takes care of the details. + + * Control.cs: added HasChildren property. + + * StateBag.cs: fixed a couple of nasty bugs. + +2002-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: run OnInit, OnLoad y PreRender before rendering the page. + Invoke Page_Init and/or Page_Load if the user supplied them (though + this should depend on AutoEventWireUp attribute of Page directive). + +2002-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Control.cs: don't throw exception in ControlID. By now, it returns ID. + + * Page.cs: + (ProcessRequest): implemented. + +2002-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * System.Web.UI/Page.cs: finished stubbing out. Implemented some + methods. + +2002-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * Page.cs: + (FileDependencies): now is public public. + (EnableViewStateMAC): uncommented and made protected. + (GetTypeHashCode): added method. + +2002-05-24 Duncan Mak <duncan@ximian.com> + + * TemplateControl.cs (SetStringResourcePointer): Fixed typo. + + * StateBag.cs (Item): Changed the visibility level of the this + [object] indexer. + + Misc. formatting edits, fixing some bugs introduced by the indentation. + + * DataBinder.cs (Eval) + (GetIndexedPropertyValue) + (GetPropertyValue): Fixed return types. + +2002-05-21 Miguel de Icaza <miguel@ximian.com> + + * HtmlTextWriter.cs: Use this to change the member instances. + +2002-05-17 Duncan Mak <duncan@ximian.com> + + * AttributeCollection.cs: + * ControlCollection.cs: + * CssStyleCollection.cs: + * DataBindingCollection.cs: + * EmptyControlCollection.cs: Added missing Collection classes. + +2002-05-17 Duncan Mak <duncan@ximian.com> + + * BaseParser.cs: + * TemplateParser.cs: Implemented. BaseParser is weird because + there is no documentation on what it does. + + * ControlBuilder.cs: + + * DataBinder.cs: + * DataBinding.cs: Added. + + * DataBoundLiteralControl.cs: + * Triplet.cs: Added. + + * RenderMethod.cs: Added this delegate for Control.cs + +2002-05-15 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * ValidationPropertyAttribute.cs: a couple of fixes to make it compile. + +2002-05-14 Duncan Mak <duncan@ximian.com> + + * ValidationPropertyAttribute.cs: Added to CVS. + +2002-05-10 Duncan Mak <duncan@ximian.com> + + * ConstructorNeedsTagAttribute.cs: + * ControlBuilderAttribute.cs: + * ImageClickEventArgs.cs: + * ParseChildrenAttribute.cs: + * PartialCachingAttribute.cs: + * PersistChildrenAttribute.cs: + * PersistenceModeAttribute.cs: + * TemplateContainerAttribute.cs: Added to CVS. + + * PersistanceMode.cs: Removed, fixed typo. + * PersistenceMode.cs: Replacing above. + + * StateBag.cs (this): Fixed indexer, it takes a string as the + index, not an object. + + * ValidatorCollection.cs: Fixed typo, ValidatedCollection to ValidatorCollection. + + * Page.cs (Validators): return type should be ValidatorCollection, + not ValidatedCollection. + + * TagPrefixAttribute.cs: Added to CVS. + +2002-05-07 Duncan Mak <duncan@ximian.com> + + * Utils.cs (GetClientValidatedEvent): Uncommented the 'Page' argument. + +2002-03-26 Gaurav Vaish <gvaish@iitk.ac.in> + + * DataBindingHandlerAttribute.cs + - Completed + * ToolboxDataAttribute.cs - Completed + +2002-01-03 Nick Drochak <ndrochak@gol.com> + + * DesignTimeParseData.cs: initialze static member to avoid compile + error + * PropertyConverter.cs: remove uneeded exception variables from + catch blocks. + +2002-01-02 Nick Drochak <ndrochak@gol.com> + + * DesignTimeParseData.cs: fix header to show correct class name + +2001-12-21 Gaurav Vaish <gvaish@iitk.ac.in> + + * StateBag.cs - Completed + +2001-12-19 Gaurav Vaish <gvaish@iitk.ac.in> + + * Pair.cs - Small undocumented class. Completed. + +2001-12-18 Gaurav Vaish <gvaish@iitk.ac.in> + + * DesignTimeParseData.cs - Initial implementation + * StateBag.cs - Initial implementation + +2001-12-17 Gaurav Vaish <gvaish@iitk.ac.in> + + * PropertyConverter.cs - Undocumented class. Completed. + * Utils.cs - Undocumented, private class. + Initial implementation + +2001-08-28 Bob Smith <bob@thestuff.net> + * Control.cs: Figured out some undocumented API. + * Added TODO. + * BuildMethod.cs: Initial implementation. + * BuildTemplateMethod.cs: Initial implementation. + * HtmlTextWriterAttribute.cs: Initial implementation. + * HtmlTextWriterStyle.cs: Initial implementation. + * HtmlTextWriterTag.cs: Initial implementation. + * IAttributeAccessor.cs: Initial implementation. + * IDataBindingsAccessor.cs: Initial implementation. + * ImageClickEventHandler.cs: Initial implementation. + * INamingContainer.cs: Initial implementation. + * IParserAccessor.cs: Initial implementation. + * IPostBackDataHandler.cs: Initial implementation. + * IPostBackEventHandler.cs: Initial implementation. + * IStateManager.cs: Initial implementation. + * ITagNameToTypeMapper.cs: Initial implementation. + * ITemplate.cs: Initial implementation. + * IValidator.cs: Initial implementation. + * OutputCacheLocation.cs: Initial implementation. + * PersistanceMode.cs: Initial implementation. + * StateItem.cs: Initial implementation. + +2001-08-27 Bob Smith <bob@thestuff.net> + + * Control.cs: Bug fixes and implementations. + +2001-08-24 Bob Smith <bob@thestuff.net> + + * Control.cs: Bug fixes. + +2001-08-23 Bob Smith <bob@thestuff.net> + + * Control.cs: More implementation. Events reworked for performance. + +2001-08-22 Bob Smith <bob@thestuff.net> + + * LiteralControl.cs: Implemented. + * Control.cs: Even more implementation (Events). What a beast. + +2001-08-20 Bob Smith <bob@thestuff.net> + + * Control.cs: More implementation. Not done yet. Shutter. + +2001-08-17 Bob Smith <bob@thestuff.net> + + * Control.cs: Partial implementation. diff --git a/mcs/class/System.Web/System.Web.UI/PageParser.cs b/mcs/class/System.Web/System.Web.UI/PageParser.cs new file mode 100644 index 00000000000..a128f91b372 --- /dev/null +++ b/mcs/class/System.Web/System.Web.UI/PageParser.cs @@ -0,0 +1,561 @@ +// +// System.Web.UI.PageParser +// +// Authors: +// Gonzalo Paniagua Javier (gonzalo@ximian.com) +// +// (C) 2002,2003 Ximian, Inc (http://www.ximian.com) +// Copyright (C) 2005 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Collections; +using System.Collections.Specialized; +using System.Globalization; +using System.Security.Permissions; +using System.Text; +using System.Web.Compilation; +using System.Web.Configuration; +using System.Web.Util; +using System.IO; + +namespace System.Web.UI +{ + // CAS - no InheritanceDemand here as the class is sealed + [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] + public sealed class PageParser : TemplateControlParser + { + bool enableSessionState = true; + bool enableViewStateMac = true; + bool smartNavigation = false; + bool haveTrace; + bool trace; + bool notBuffer; + TraceMode tracemode; + bool readonlySessionState; + string responseEncoding; + string contentType; + int codepage = -1; + int lcid = -1; + string culture; + string uiculture; + string errorPage; + bool validateRequest; + string clientTarget; + Type baseType = typeof (Page); + +#if NET_2_0 + string masterPage; + Type masterType; + string title; + string theme; + string styleSheetTheme; + bool enable_event_validation; + bool maintainScrollPositionOnPostBack; + int maxPageStateFieldLength = -1; + string pageParserFilter = String.Empty; + Type previousPageType; +#endif + + public PageParser () + { + LoadPagesConfigDefaults (); + } + + internal PageParser (string virtualPath, string inputFile, HttpContext context) + { + Context = context; + BaseVirtualDir = UrlUtils.GetDirectory (virtualPath); + InputFile = inputFile; + SetBaseType (PagesConfig.PageBaseType); + AddApplicationAssembly (); + LoadPagesConfigDefaults (); + } + +#if NET_2_0 + internal PageParser (string virtualPath, TextReader reader, HttpContext context) + { + Context = context; + BaseVirtualDir = UrlUtils.GetDirectory (virtualPath); + Reader = reader; + SetBaseType (PagesConfig.PageBaseType); + AddApplicationAssembly (); + LoadPagesConfigDefaults (); + } +#endif + + internal override void LoadPagesConfigDefaults () + { + base.LoadPagesConfigDefaults (); +#if NET_2_0 + PagesSection ps = PagesConfig; +#else + PagesConfiguration ps = PagesConfig; +#endif + + notBuffer = !ps.Buffer; +#if NET_2_0 + switch (ps.EnableSessionState) { + case PagesEnableSessionState.True: + case PagesEnableSessionState.ReadOnly: + enableSessionState = true; + break; + + default: + enableSessionState = false; + break; + } +#else + if (String.Compare (ps.EnableSessionState, "true", true, CultureInfo.InvariantCulture) == 0) + enableSessionState = true; + else + enableSessionState = false; +#endif + + enableViewStateMac = ps.EnableViewStateMac; + smartNavigation = ps.SmartNavigation; + validateRequest = ps.ValidateRequest; +#if NET_2_0 + masterPage = ps.MasterPageFile; + if (masterPage.Length == 0) + masterPage = null; + + enable_event_validation = ps.EnableEventValidation; + maxPageStateFieldLength = ps.MaxPageStateFieldLength; + pageParserFilter = ps.PageParserFilterType; + theme = ps.Theme; + if (theme.Length == 0) + theme = null; + styleSheetTheme = ps.StyleSheetTheme; + if (styleSheetTheme.Length == 0) + styleSheetTheme = null; + maintainScrollPositionOnPostBack = ps.MaintainScrollPositionOnPostBack; +#endif + } + + public static IHttpHandler GetCompiledPageInstance (string virtualPath, + string inputFile, + HttpContext context) + { + PageParser pp = new PageParser (virtualPath, inputFile, context); + IHttpHandler h = (IHttpHandler) pp.GetCompiledInstance (); + return h; + } + + internal override void ProcessMainAttributes (Hashtable atts) + { + // note: the 'enableSessionState' configuration property is + // processed in a case-sensitive manner while the page-level + // attribute is processed case-insensitive + string enabless = GetString (atts, "EnableSessionState", enableSessionState.ToString ()); + if (enabless != null) { + readonlySessionState = (String.Compare (enabless, "readonly", true) == 0); + if (readonlySessionState == true || String.Compare (enabless, "true", true) == 0) { + enableSessionState = true; + } else if (String.Compare (enabless, "false", true) == 0) { + enableSessionState = false; + } else { + ThrowParseException ("Invalid value for enableSessionState: " + enabless); + } + } + + string cp = GetString (atts, "CodePage", null); + if (cp != null) { + if (responseEncoding != null) + ThrowParseException ("CodePage and ResponseEncoding are " + + "mutually exclusive."); + + int codepage = 0; + try { + codepage = (int) UInt32.Parse (cp); + } catch { + ThrowParseException ("Invalid value for CodePage: " + cp); + } + + try { + Encoding.GetEncoding (codepage); + } catch { + ThrowParseException ("Unsupported codepage: " + cp); + } + } + + responseEncoding = GetString (atts, "ResponseEncoding", null); + if (responseEncoding != null) { + if (codepage != -1) + ThrowParseException ("CodePage and ResponseEncoding are " + + "mutually exclusive."); + + try { + Encoding.GetEncoding (responseEncoding); + } catch { + ThrowParseException ("Unsupported encoding: " + responseEncoding); + } + } + + contentType = GetString (atts, "ContentType", null); + + string lcidStr = GetString (atts, "LCID", null); + if (lcidStr != null) { + try { + lcid = (int) UInt32.Parse (lcidStr); + } catch { + ThrowParseException ("Invalid value for LCID: " + lcid); + } + + CultureInfo ci = null; + try { + ci = new CultureInfo (lcid); + } catch { + ThrowParseException ("Unsupported LCID: " + lcid); + } + + if (ci.IsNeutralCulture) { + string suggestedCulture = SuggestCulture (ci.Name); + string fmt = "LCID attribute must be set to a non-neutral Culture."; + if (suggestedCulture != null) { + ThrowParseException (fmt + " Please try one of these: " + + suggestedCulture); + } else { + ThrowParseException (fmt); + } + } + } + + culture = GetString (atts, "Culture", null); + if (culture != null) { + if (lcidStr != null) + ThrowParseException ("Culture and LCID are mutually exclusive."); + + CultureInfo ci = null; + try { +#if NET_2_0 + if (!culture.StartsWith ("auto")) +#endif + ci = new CultureInfo (culture); + } catch { + ThrowParseException ("Unsupported Culture: " + culture); + } + + if (ci != null && ci.IsNeutralCulture) { + string suggestedCulture = SuggestCulture (culture); + string fmt = "Culture attribute must be set to a non-neutral Culture."; + if (suggestedCulture != null) + ThrowParseException (fmt + + " Please try one of these: " + suggestedCulture); + else + ThrowParseException (fmt); + } + } + + uiculture = GetString (atts, "UICulture", null); + if (uiculture != null) { + CultureInfo ci = null; + try { +#if NET_2_0 + if (!uiculture.StartsWith ("auto")) +#endif + ci = new CultureInfo (uiculture); + } catch { + ThrowParseException ("Unsupported Culture: " + uiculture); + } + + if (ci != null && ci.IsNeutralCulture) { + string suggestedCulture = SuggestCulture (uiculture); + string fmt = "UICulture attribute must be set to a non-neutral Culture."; + if (suggestedCulture != null) + ThrowParseException (fmt + + " Please try one of these: " + suggestedCulture); + else + ThrowParseException (fmt); + } + } + + string tracestr = GetString (atts, "Trace", null); + if (tracestr != null) { + haveTrace = true; + atts ["Trace"] = tracestr; + trace = GetBool (atts, "Trace", false); + } + + string tracemodes = GetString (atts, "TraceMode", null); + if (tracemodes != null) { + bool valid = true; + try { + tracemode = (TraceMode) Enum.Parse (typeof (TraceMode), tracemodes, false); + } catch { + valid = false; + } + + if (!valid || tracemode == TraceMode.Default) + ThrowParseException ("The 'tracemode' attribute is case sensitive and must be " + + "one of the following values: SortByTime, SortByCategory."); + } + + errorPage = GetString (atts, "ErrorPage", null); + validateRequest = GetBool (atts, "ValidateRequest", validateRequest); + clientTarget = GetString (atts, "ClientTarget", null); + if (clientTarget != null) { + clientTarget = clientTarget.Trim (); +#if NET_2_0 + ClientTargetSection sec = (ClientTargetSection)WebConfigurationManager.GetSection ("system.web/clientTarget"); + ClientTarget ct = null; + + if ((ct = sec.ClientTargets [clientTarget]) == null) + clientTarget = clientTarget.ToLower (CultureInfo.InvariantCulture); + + if (ct == null && (ct = sec.ClientTargets [clientTarget]) == null) { + ThrowParseException (String.Format ( + "ClientTarget '{0}' is an invalid alias. See the " + + "documentation for <clientTarget> config. section.", + clientTarget)); + } + clientTarget = ct.UserAgent; +#else + NameValueCollection coll; + coll = (NameValueCollection) Context.GetConfig ("system.web/clientTarget"); + object ct = null; + + if (coll != null) { + ct = coll [clientTarget]; + if (ct == null) + ct = coll [clientTarget.ToLower ()]; + } + + if (ct == null) { + ThrowParseException (String.Format ( + "ClientTarget '{0}' is an invalid alias. See the " + + "documentation for <clientTarget> config. section.", + clientTarget)); + } + clientTarget = (string) ct; +#endif + } + + notBuffer = !GetBool (atts, "Buffer", true); + +#if NET_2_0 + masterPage = GetString (atts, "MasterPageFile", masterPage); + + // Make sure the page exists + if (!String.IsNullOrEmpty (masterPage)) + MasterPageParser.GetCompiledMasterType (masterPage, MapPath (masterPage), HttpContext.Current); + + title = GetString(atts, "Title", null); + + theme = GetString (atts, "Theme", theme); + styleSheetTheme = GetString (atts, "StyleSheetTheme", styleSheetTheme); + enable_event_validation = GetBool (atts, "EnableEventValidation", true); + maintainScrollPositionOnPostBack = GetBool (atts, "MaintainScrollPositionOnPostBack", maintainScrollPositionOnPostBack); +#endif + // Ignored by now + GetString (atts, "EnableViewStateMac", null); + GetString (atts, "SmartNavigation", null); + + base.ProcessMainAttributes (atts); + } + +#if NET_2_0 + internal override void AddDirective (string directive, Hashtable atts) + { + bool isMasterType = String.Compare ("MasterType", directive, StringComparison.OrdinalIgnoreCase) == 0; + bool isPreviousPageType = isMasterType ? false : String.Compare ("PreviousPageType", directive, + StringComparison.OrdinalIgnoreCase) == 0; + + string typeName = null; + string virtualPath = null; + Type type = null; + + if (isMasterType || isPreviousPageType) { + typeName = GetString (atts, "TypeName", null); + virtualPath = GetString (atts, "VirtualPath", null); + + if (typeName != null && virtualPath != null) + ThrowParseException ( + String.Format ("The '{0}' directive must have exactly one attribute: TypeName or VirtualPath", directive)); + if (typeName != null) { + type = LoadType (typeName); + if (type == null) + ThrowParseException (String.Format ("Could not load type '{0}'.", typeName)); + } else if (virtualPath != null) { + string mappedPath = MapPath (virtualPath); + if (isMasterType) + type = masterType = MasterPageParser.GetCompiledMasterType (virtualPath, + mappedPath, + HttpContext.Current); + else + type = previousPageType = GetCompiledPageType (virtualPath, mappedPath, + HttpContext.Current); + } else + ThrowParseException ( + String.Format ("The {0} directive must have either a TypeName or a VirtualPath attribute.", directive)); + + AddAssembly (type.Assembly, true); + } else + base.AddDirective (directive, atts); + } +#endif + + static string SuggestCulture (string culture) + { + string retval = null; + foreach (CultureInfo ci in CultureInfo.GetCultures (CultureTypes.SpecificCultures)) { + if (ci.Name.StartsWith (culture)) + retval += ci.Name + " "; + } + return retval; + } + + public static Type GetCompiledPageType (string virtualPath, string inputFile, HttpContext context) + { + PageParser pp = new PageParser (virtualPath, inputFile, context); + return pp.CompileIntoType (); + } + + protected override Type CompileIntoType () + { + AspGenerator generator = new AspGenerator (this); + return generator.GetCompiledType (); + } + + internal bool EnableSessionState { + get { return enableSessionState; } + } + + internal bool EnableViewStateMac { + get { return enableViewStateMac; } + } + + internal bool SmartNavigation { + get { return smartNavigation; } + } + + internal bool ReadOnlySessionState { + get { return readonlySessionState; } + } + + internal bool HaveTrace { + get { return haveTrace; } + } + + internal bool Trace { + get { return trace; } + } + + internal TraceMode TraceMode { + get { return tracemode; } + } + + internal override Type DefaultBaseType { + get { return baseType; } + } + + internal override string DefaultBaseTypeName { + get { return "System.Web.UI.Page"; } + } + + internal override string DefaultDirectiveName { + get { return "page"; } + } + + internal string ResponseEncoding { + get { return responseEncoding; } + } + + internal string ContentType { + get { return contentType; } + } + + internal int CodePage { + get { return codepage; } + } + + internal string Culture { + get { return culture; } + } + + internal string UICulture { + get { return uiculture; } + } + + internal int LCID { + get { return lcid; } + } + + internal string ErrorPage { + get { return errorPage; } + } + + internal bool ValidateRequest { + get { return validateRequest; } + } + + internal string ClientTarget { + get { return clientTarget; } + } + + internal bool NotBuffer { + get { return notBuffer; } + } + +#if NET_2_0 + internal string Theme { + get { return theme; } + } + + internal string StyleSheetTheme { + get { return styleSheetTheme; } + } + + internal string MasterPageFile { + get { return masterPage; } + } + + internal Type MasterType { + get { return masterType; } + } + + internal string Title { + get { return title; } + } + + internal bool EnableEventValidation { + get { return enable_event_validation; } + } + + internal bool MaintainScrollPositionOnPostBack { + get { return maintainScrollPositionOnPostBack; } + } + + internal int MaxPageStateFieldLength { + get { return maxPageStateFieldLength; } + } + + internal string PageParserFilterType { + get { return pageParserFilter; } + } + + internal Type PreviousPageType { + get { return previousPageType; } + } +#endif + } +} + |