Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWade Berrier <wade@mono-cvs.ximian.com>2007-08-27 22:25:17 +0400
committerWade Berrier <wade@mono-cvs.ximian.com>2007-08-27 22:25:17 +0400
commit3099f3ce8d009126b71e2856744953b706b153b3 (patch)
tree23e73d1a7c44fcd1e17022a3148974e9c6e3e243
Revert r84868 from p5 tagmono-1-2-5-p5
svn path=/tags/mono-1-2-5-p5/mcs/; revision=84905
-rw-r--r--mcs/class/System.Web/System.Web.Configuration/ChangeLog813
-rw-r--r--mcs/class/System.Web/System.Web.Configuration/PagesConfiguration.cs72
-rw-r--r--mcs/class/System.Web/System.Web.Configuration/PagesConfigurationHandler.cs121
-rw-r--r--mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog1162
-rw-r--r--mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs41
-rw-r--r--mcs/class/System.Web/System.Web.UI/ChangeLog4400
-rw-r--r--mcs/class/System.Web/System.Web.UI/PageParser.cs561
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
+ }
+}
+