2010-07-23  Marek Habersack  <mhabersack@novell.com>

	* ClientScriptManager.cs: 4.0 adds a class="aspNetHidden"
	attribute to the div element surrounding the hidden elements.

2010-07-14  Marek Habersack  <mhabersack@novell.com>

	* DataKeyPropertyAttribute.cs: added (4.0)

2010-07-13  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: moved 4.0 ClientID code to a separate method, so
	that the ID_SET flag isn't set when necessary.

2010-07-10  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: when setting ClientIDMode remember the value when
	setting the property for the first time.

2010-07-08  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: if generating a predictable ID and the current
	control is a naming container, ensure that an ID is generated if
	not specified by user.

2010-07-02  Marek Habersack  <mhabersack@novell.com>

	* TemplateControlParser.cs: added support for ClientIDMode
	property

	* Control.cs: implemented 4.0 features - ClientIDMode and
	RenderingCompatibility.

	* ClientIDMode.cs, IDataKeysControl.cs: added

2010-06-17  Marek Habersack  <mhabersack@novell.com>

	* RootBuilder.cs: both LINK and META HTML tags must be represented
	as instances of HtmlGenericControl. Fixes bug #603541

2010-06-02  Marek Habersack  <mhabersack@novell.com>

	* ViewStateMode.cs: added

	* Control.cs: implemented 4.0 ViewStateMode

	* Page.cs: implemented 4.0 properties AutoPostBackControl and
	RouteData

2010-06-01  Marek Habersack  <mhabersack@novell.com>

	* PageParser.cs: added support for MetaDescription and
	MetaKeywords main directive attributes

	* Page.cs: implemented MetaDescription and MetaKeywords
	4.0 properties. 

2010-05-19  Marek Habersack  <mhabersack@novell.com>

	* DataSourceCacheDurationConverter.cs: implemented. Fixes bug
	#603083

	* PageParser.cs: handle several main directive attributes
	specially, as they can have expressions as their values. Fixes bug
	#603532

	* MainDirectiveAttribute.cs: added - helper class to handle
	directive attributes which can take either a value or an
	expression.

	* BaseParser.cs: IsDirective, IsExpression and IsDataBound methods
	moved to here from TemplateControlCompiler.

2010-05-15  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: implemented 4.0 GetRouteUrl overloads and
	GetUniqueIDRelativeTo

2010-05-05  Marek Habersack  <mhabersack@novell.com>

	* CollectionBuilder.cs: if a type has more than on indexer, check
	all of them for type compliance in GetChildControlType. Fixes bug
	#601290. Patch from Kalyanov Dmitry <Kalyanov.Dmitry@gmail.com>,
	thanks!

2010-04-28  Marek Habersack  <mhabersack@novell.com>

	* KeyedList.cs: do not implement IStateManager in 4.0

2010-04-12  Marek Habersack  <mhabersack@novell.com>

	* PageParser.cs: if EnableViewStateMac option is present in the
	directive, remember it for later use by the compiler.

	* Page.cs: initialize EnableViewStateMac with the default read
	from the config.

	The above fix cross-site scripting vulnerability (CVE: CVE-2010-1459)
	Credits: Web Security Research Group (WSRG) of Hewlett Packard
	(HP)

2010-04-07  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: control cache must be filled using the local
	_controls collection instead of the virtual Controls
	property. Fixes bug #594238
	Check if _controls isn't null before using it.

2010-04-06  Marek Safar  <marek.safar@gmail.com>

	* FileLevelControlBuilderAttribute.cs: Use reference comparison.

2010-01-20  Marek Habersack  <mhabersack@novell.com>

	* ObjectStateFormatter.cs: implemented support for IndexedString
	on top of the existing StringFormatter.

	* IndexedString.cs: implemented

2009-12-22  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: form javascript declaration block is rendered only if
	necessary. Fixes bug #566541

	* ClientScriptManager.cs: added internal property ScriptsPresent
	used to determine if it is necessary to render form javascript
	declaration block.
	Hidden fields block is output without indenting the controls and
	without rendering trailing empty line.
	Made Write{Begin,End}ScriptBlock slightly faster.

2009-12-18  Marek Habersack  <mhabersack@novell.com>

	* ObjectStateFormatter.cs: ObjectFormatter.WriteObject checks
	whether candidate converter can convert from string now. Fixes bug
	#565547

2009-11-14  Marek Habersack  <mhabersack@novell.com>

	* TemplateControl.cs: if writer is null in
	WriteUTF8ResourceString, use output.Write, not writer.Write. Fixes
	bug #547015

2009-11-10  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: AddImports is called from LoadConfigDefaults
	so that it reads configuration from the correct .config file (it
	needs to be called after this.VirtualPath has been
	initialized). Fixes an issue with MVC apps which put configuration
	in Views/web.config etc. Fixes bug #552457

	* ControlBuilder.cs, Page.cs: system.web/pages section is not
	confined to the top-level web.config

2009-10-30  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: ResolveClientUrl takes base path from
	Request.ClientFilePath, so that it works correctly for rewritten
	urls.

2009-10-27  Marek Habersack  <mhabersack@novell.com>

	* ObjectStateFormatter.cs: do not use a type converter to
	serialize an object if the converter is an instance of
	TypeConverter itself - its reported capability of converting to
	string is not useful here.

2009-10-12  Marek Habersack  <mhabersack@novell.com>

	* ObjectStateFormatter.cs: if a type is associated with a type
	converter, do not check if the converter can convert FROM the type
	in question, as this is implied. Fixes bug #545979

2009-10-09  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: implemented the LoadViewStateByID property as well
	as saving/restoring the view state by control's ID.

2009-09-22  Marek Habersack  <mhabersack@novell.com>

	* WebServiceParser.cs: GetCompiledType uses BuildManager on the
	2.0 profile. Fixes bug #533166

2009-09-15  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: FindNamespaceInAssembly must catch
	ReflectionTypeLoadException so that it doesn't break on invalid
	assemblies.

2009-08-24  Marek Habersack  <mhabersack@novell.com>

	* PageParser.cs: 2.0 profile takes advantage of the inputFile
	parameter to GetCompiledPageInstance. A check is made whether the
	file pointed to by this parameter is inside the application's
	virtual path and if not, the compilation request is assumed to
	refer to a fake location. Part of fix for bug #463813

2009-08-18  Marek Habersack  <mhabersack@novell.com>

	* ControlBuilder.cs: Location property makes a copy of assigned
	ILocation now.

2009-08-14  Marek Habersack  <mhabersack@novell.com>

	* ControlBuilder.cs: when CreateSubBuilder is called on a builder
	which is supposed to treat its children as properties and the
	default property builder is defined, first check if the tag which
	has just been parsed isn't a template property. If it is, don't
	use the default property builder, instead create a template
	property builder directly. Fixes bug #527753

2009-07-23  Marek Habersack  <mhabersack@novell.com>

	* ControlBuilder.cs: added an internal helper property
	IsNamingContainer.

2009-07-21  Marek Habersack  <mhabersack@novell.com>

	* SimpleWebHandlerParser.cs: make sure to ignore invalid bin/
	assemblies in AddAssembliesInBin and GetTypeFromBin.

2009-06-15  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: AddAssembliesInBin (1.1 profile) tries to
	load every assembly in order to see if it's a valid one. All bad
	dll image errors are silently ignored. Fixes bug #315816

2009-06-05  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: InitializeTheme uses WebConfigurationManager.GetSection
	to retrieve page theme name. GetWebApplicationSection cannot be
	used because the system.web/pages section is valid also in
	subdirectories. Fixes bug #510302

2009-06-01  Marek Habersack  <mhabersack@novell.com>

	* ClientScriptManager.cs: WriteHiddenFields doesn't add the id
	attribute to generated input element in the 1.1 profile. Fixes bug
	#508167. Patch from Hubert FONGARNAND
	<informatique.internet@fiducial.fr>, thanks!

2009-05-29  Marek Habersack  <mhabersack@novell.com>

	* StateBag.cs: made SetDirty (bool) available on 1.1 as
	internal. Fixes bug #507836

2009-05-05  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: PageParserFilterType uses
	HttpApplication.LoadType so that it is able to load the filter
	from App_Code or with not fully qualified type names.

2009-05-04  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: take RootBuilder from the associated
	generator. 
	Allow the main page directive to be added twice if the parser
	needs it. Used by AspGenerator when extracting the inherited type
	name before actual parsing. Fixes bug #500075

	* FileLevelControlBuilderAttribute.cs,
	FileLevelPageControlBuilder.cs, FileLevelUserControlBuilder.cs:
	implemented

	* ControlBuilder.cs: added a new internal property,
	DataBindingMethod.
	Implemented ProcessGeneratedCode.

2009-04-30  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: removed the PageParserFilterTypeName
	property, the filter type name is looked up on demand now.

	* ApplicationFileParser.cs, MasterPageParser.cs,
	UserControlParser.cs: load config defaults explicitly after
	initializing the instance.

2009-04-29  Marek Habersack  <mhabersack@novell.com>

	* DataBinder.cs: GetPropertyValue must throw also if propName is
	empty.

2009-04-24  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: PageParserFilter.Initialize now takes just
	one parameter.
	AddImport ignores null/empty namespaces. Fixes bug #498118

	* PageParserFilter.cs: a few alignments for .NET compatibility in
	the default behavior.

2009-04-22  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: create the imports ArrayList before
	attempting to use it. Fixes bug #497174

2009-04-21  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: added support for OutputCacheParameters.NoStore to
	InitOutputCache.

	* SimpleWebHandlerParser.cs: retrieve CompilationSection from the
	appropriate web.config file.

	* BaseParser.cs: moved the internal property VirtualPath from
	TemplateParser to here and added an internal method
	GetConfigSection to retrieve sections from the correct web.config
	file on 2.0 applications. Fixes bug #494245

	* PageParser.cs: use the new GetConfigSection method to retrieve
	ClientTargetSection.

	* TemplateParser.cs: moved the VirtualPath property to
	BaseParser.
	PagesConfig now uses the new GetConfigSection method. Fixes bug
	#494245
	Added support for the SqlDependency, NoStore and CacheProfile
	attributes of the OutputCache directive. Fixes bug #496951

2009-04-15  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: use generic lists for import, namespace and
	interface caches. If a namespace is added (e.g. by parsing the
	Import directive), find the assembly in which namespace is
	defined.

2009-04-07  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: ApplyTheme - make sure Page is not null before using
	it. Fixes bug #492666

2009-04-06  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: ProcessRaiseCallbackEvent and ProcessGetCallbackResult
	now return full exception trace if one is caught and we're running
	in debugging mode.

2009-03-31  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: SavePageViewState saves the list of controls which
	require post back regardless of whether view state is disabled or
	not. Fixes bug #490753

	* ApplicationFileParser.cs, MasterPageParser.cs, PageParser.cs,
	PageThemeFileParser.cs, PageThemeParser.cs, UserControlParser.cs,
	WebHandlerParser.cs, WebServiceParser.cs: 2.0 constructors take a
	VirtualPath instance for the virtualPath parameter, instead of a
	string.

2009-03-18  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: AppRelativeResourceDirectory no longer returns a
	hard-coded "~/" when template control's virtual path cannot be
	determined. It returns application relative version of
	TemplateSourceDirectory instead.

2009-03-13  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: clear the controls cache on control removal. This
	ensures that a subsequent FindControl call won't return the
	removed control.

2009-03-06  Marek Habersack  <mhabersack@novell.com>

	* XPathBinder.cs: use the pased namespace manager

	* ControlBuilder.cs: BindingContainerType - if control type of the
	containing builder is null, return typeof (Control)

2009-03-03  Rodrigo Kumpera  <rkumpera@novell.com>

	* Control.cs (FillControlCache): Remove useless control
	parameter. It's always the same of 'this'.

2009-03-03  Rodrigo Kumpera  <rkumpera@novell.com>

	* DataBoundLiteralControl.cs: Don't init static literals
	as they are lazily created.

2009-02-28 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* BaseParser.cs:
	* PageParser.cs:
	* ControlBuilder.cs:
	* TemplateParser.cs:
	* Page.cs:
	* SimpleWebHandlerParser.cs: settings that have to be in
	machine.config or the root level web.config now call
	GetWebApplicationSection.

2009-02-28 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ObjectStateFormatter.cs: use GetWebApplication
	instead of GetSection for application level configuration.

2009-02-28  Gonzalo Paniagua Javier <gonzalo@novell.com>

	* Control.cs: Avoid double OnInit in scenarios with two master
	pages.

2009-02-26  Marek Habersack  <mhabersack@novell.com>

	* FileLevelControlBuilderAttribute.cs,
	DataSourceCacheDurationConverter: hush the gmcs warnings

2009-02-20 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* TemplateControl.cs: implement the other ReadStringResource method.
	Patch from Kornel Pal.

2009-02-20 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ResourceBasedLiteralControl.cs: new Control. It's just
	like a LiteralControl but will render itself from the bytes pointed to
	by an IntPtr and not create any string from the underlying data unless
	needed.

	* TemplateControl.cs: implemented a bunch of methods
	that are used from the precompiled assemblies for a web project. The
	most notable change needed is to be able to read a win32 resource from
	the dll of the control. The resource is a concatenation of literals
	with plain text for the control and a specialized LiteralControl is
	generated from different chunks of the resource.

	* HtmlTextWriter.cs: new method that returns the HttpWriter in use.

2009-02-18 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* TemplateControl.cs: ReadStringResource returns null now.

2009-02-18 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* MasterPage.cs: the items in ContentPlaceHolders are lowercase.

2009-02-18  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: don't initialize PageParserFilter in
	LoadConfigDefaults, postpone it till the first time the
	PageParserFilter property is accessed.

	* ApplicationFileParser.cs, UserControlParser.cs: make sure
	VirtualPath is set in the constructors.

2009-02-13  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: PageParserFilter handling moved to here.
	PagesConfig must use the current virtual path when retrieving the
	section, or otherwise we'll miss the lower level web.configs.
	Added the AddControl method, used by PageParserFilter.
	Implementing filtering of: parsed directives and the base type, if
	a page parser filter is present.

	* PageParserFilter.cs: added missing 3.5 members and implemented
	everything.

	* PageParser.cs: moved PageParserFilter processing to
	TemplateParser.
	VirtualPath must be set before anything else.
	Call page parser filter's directive preprocessing code from
	AddDirective if a filter is present and a mastertype or
	previouspagetype directive is parsed.

	* MasterPageParser.cs: when PageParserFilter is present use it to
	preprocess the MasterType directive.

2009-02-12  Marek Safar  <marek.safar@gmail.com>

	* ControlBuilder.cs, PageParserFilter.cs, CodeConstructType.cs:
	Add few missing members.

2009-02-06  Gert Driesen  <drieseng@users.sourceforge.net>

	* Control.cs: Make IsViewStateEnabled available on 1.0 profile
	and use it to determine if viewstate needs to be saved instead of
	the newly introduced ViewStateShouldBeSaved. Remove
	ViewStateShouldBeSaved.

2009-02-05  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: if a control has been added to the controls
	collection, removed and added again do not call OnInit (). At the
	same time OnInit() should be called more than once if a control is
	added to a container which, in turn, is then added to another
	control. To achieve that a new state mask flag has been added -
	REMOVED. Fixes bug #471305

2009-02-04  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: update of the fix for bug #470993 - view state of
	the child controls isn't saved when any of their parents has it
	disabled.

2009-01-30  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: don't save the control's state if it's
	disabled. Fixes bug #470993

2009-01-23  Marek Habersack  <mhabersack@novell.com>

	* HtmlTextWriter.cs: if OnTagRender returns false when called from
	RenderBeginTag, push the tag to the stack regardless, and ignore
	it in DoBeginTag and RenderEndTag. Fixes bug #463634

2009-01-13  Marek Habersack  <mhabersack@novell.com>

	* CodeBuilder.cs, RootBuilder.cs, CollectionBuilder.cs: updates
	related to ControlBuilder cleanup.

	* ControlBuilder.cs: code cleanup - no field should be visible
	outside the class unless it's a constant or a read-only field.

2009-01-12  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: line pragmas are on by default. Fixes bug
	#460479

2009-01-09  Marek Habersack  <mhabersack@novell.com>

	* BaseParser.cs, PageParser.cs, UserControlParser.cs: use
	VirtualPathUtility.GetDirectory instead of UrlUtils.GetDirectory.

2008-12-25 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* TemplateControl.cs: use IndexOf (char).

2008-12-18  Marek Habersack  <mhabersack@novell.com>

	* ControlBuilder.cs: BindingContainerType returns typeof (Page)
	only when the current object is a RootBuilder and it's been
	created for a page parser. Otherwise it returns typeof
	(Control). Fixes bug #456305

2008-12-11  Marek Habersack  <mhabersack@novell.com>

	* MasterPageParser.cs: check if masterType is null before using it
	in AddDirective.

	* TemplateParser.cs: in the 2.0 profile when a custom control is
	registered, do not compile it right away but store the tag name in
	a registry to be compiled at a later stage.

2008-12-09 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* XhtmlTextWriter.cs: don't recreate the Hashtables every time, but
	Clone the defaults.

2008-12-10  Marek Habersack  <mhabersack@novell.com>

	* MasterPageParser.cs: do not compile anything while
	parsing. MasterType virtual path is not compiled, but stored for
	later. It is compiled when the MasterType property is requested
	from within MasterPageCompiler.

	* PageParser.cs: do not compile anything while
	parsing. MasterPageFile, MasterType and PreviousPageType virtual
	paths aren't compiled but checked for existence and stored for
	later. Actual compilation happens when the MasterType and
	PreviousPageType are requested from within PageCompiler.

	* BaseParser.cs: added a new helper method, ThrowParseFileNotFound.

2008-12-03  Marek Habersack  <mhabersack@novell.com>

	* DataBinder.cs: clean up Eval for good this time.
	GetIndexedPropertyValue should throw an exception when a string
	indexer expression is used and the container is an IList.

2008-12-02 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* Page.cs: make sure we don't return null in Title.

2008-12-02  Marek Habersack  <mhabersack@novell.com>

	* DataBinder.cs: when Eval attempts to find Items [] in the
	container, catch and ignore all exceptions - the null returned
	from GetPropertyValue may be a legitimate return value.

	* StateManagedCollection.cs: adding an item to the collection does
	not call SetDirty as an item is added, thus not affecting the
	indexes of its predecessors. Fixes bug #443100
	Insert doesn't call SetDirtyObject as all objects are made dirty
	in SetDirty which is called from here. Same applies to this [int]
	indexer.

2008-12-01  Marek Habersack  <mhabersack@novell.com>

	* MasterPage.cs: use List <string> for ContentPlaceHolders instead
	of ArrayList.
	CreateMasterPage now directly accesses the ContentPlaceHolders as
	it is now a list of strings.

2008-11-28  Marek Habersack  <mhabersack@novell.com>

	* DataBinder.cs: do the proper thing in Eval when a non-indexed
	property is requested on an object and not found. In that case try
	to use the Items property.

2008-11-25  Marek Habersack  <mhabersack@novell.com>

	* RootBuilder.cs: use new API in AspComponentFoundry to retrieve
	registered control type.

	* TemplateControlParser.cs: AddControlImports () removed. Its
	functionality is now implemented in ControlBuilder.AddChild in a
	more elegant, fine grained and correct way.

	* TemplateParser.cs: replaced some "" with String.Empty

	* ControlBuilder.cs: AddChild now adds an import for child's
	namespace if the control being added has been registered in the
	web.config file. Possible fix for #447896 and #447898

	* PageParser.cs, MasterPageParser.cs: do not call
	AddControlImports, it no longer exists.

2008-11-21  Marek Habersack  <mhabersack@novell.com>

	* ControlBuilder.cs: in BindingContainerType if builder is a
	RootBuilder and no naming container is found, return typeof
	(Page). In the TemplateBuilder case return cb.ControlType, not
	this.ControlType.

2008-11-18 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ControlBuilder.cs: make sure the binding container container is a
	naming container.

2008-11-18  Marek Habersack  <mhabersack@novell.com>

	* ControlBuilder.cs: make sure no control implementing the
	INonBindingContainer can be returned from BindingContainerType.

2008-11-18 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ControlBuilder.cs: find the correct naming container even inside
	user controls. A corner case of bug #445889.

2008-11-15  Marek Habersack  <mhabersack@novell.com>

	* INonBindingContainer.cs: added

	* Control.cs: BindingContainer now checks if a control implements
	INonBindingContainer interface in addition to the
	BINDING_CONTAINER mask check.

	* UserControl.cs: implements INonBindingContainer

	* ControlBuilder.cs: use the new INonBindingContainer interface to
	determine the binding container type in the BindingContainerType
	property. If TemplateBuilder's ContainerType implements that
	interface, the NamingContainer is queried for the binding
	container type. If ContainerType is null, we return our own
	ControlType (if we're TemplateBuilder)

2008-11-14  Marek Habersack  <mhabersack@novell.com>

	* DataBinder.cs: if Eval doesn't find the indicated property, try
	to find an indexer property on the object and use the expression
	value as its parameter. Fixes #444725

2008-11-13  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: added ability to reset child names to a specific
	value, not only to 0.

2008-10-29  Marek Habersack  <mhabersack@novell.com>

	* StateManagedCollection.cs: IList.Remove should call this.IndexOf
	instead of items.IndexOf

2008-10-24  Marek Habersack  <mhabersack@novell.com>

	* TemplateControl.cs: pass content hash to
	UserControlParser.GetCompiledType when compiling a control in
	ParseControl.

	* UserControlParser.cs: when compiling a control using a text
	reader, append a unique suffix to the "file path" - that way
	controls compiled from different input streams won't conflict with
	each other in the compilation cache.

2008-10-23  Marek Habersack  <mhabersack@novell.com>

	* TemplateControlParser.cs: added internal method
	AddControlImports which adds namespaces named in the
	pages/controls section of web.config

	* MasterPageParser.cs: unconditionally add namespaces named in the
	pages/controls section of web.config.

	* PageParser.cs: add namespaces named in the pages/controls
	section of web.config to the page whenever it uses a master page.

	* StateManagedCollection.cs: modified {Load,Save}ViewState to
	properly store/recreate the collection of controls and to use a
	more consistent structure for the state.

2008-10-17  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: added the ValidateEvent internal method, used by
	classes descending from Control to automatically trigger event
	validation.

	* Page.cs: removed the CheckForValidationSupport method. It moved
	to Control.cs
	RaisePostBackEvent no longer validates the events, this
	functionality has been moved to Control.ValidateEvent.

2008-10-15  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: Response caching is switched on only when output
	caching is configured for this page instance. Fixes bug #435549.

2008-10-14  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: SaveViewStateRecursive must return view state even
	if EnableViewState is false. This is apparently what .NET does, as
	some commercial ASP.NET controls take advantage of that via
	reflection.

2008-10-08  Marek Habersack  <mhabersack@novell.com>

	* DataBinder.cs: in Eval expression needs to be trimmed before
	checking whether it's an empty string.
	GetIndexedPropertyValue must explicitly look for the "Item"
	property, the lack of the DefaultMember attribute on type must not
	throw exceptions.

2008-10-03  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: make sure the generated class name is a valid
	language independent identifier. Fixes bug #431622

2008-09-29  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: EnableViewState is initialized from the web
	configuration. 
	ViewState is saved only if EnableViewState is true for the page.
	Optimized SavePageControlState implementation.
	Implemented the UniqueFilePathSuffix and MaxPageStateFieldLength
	properties.
	Some coding style changes.

2008-09-25  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: make sure view state is loaded for PreviousPage during
	cross-page postback.

2008-09-13  Atsushi Enomoto  <atsushi@ximian.com>

	* IAutoFieldGenerator.cs : new in 3.5 SP1.

2008-09-13  Atsushi Enomoto  <atsushi@ximian.com>

	* CssClassPropertyAttribute.cs : new in 3.5 SP1.

2008-09-13  Atsushi Enomoto  <atsushi@ximian.com>

	* IBindableControl.cs : new in 3.5 SP1.

2008-09-01  Marek Habersack  <mhabersack@novell.com>

	* ControlBuilder.cs: CreatePropertyBuilder now correctly processes
	property names with prefixes (e.g. 'prefix:PropertyName'). 
	Original, parsed, tag name is stored to properly handle closing
	tags.
	CreateSubBuilder compares tagid to tagName case-insensitively now.

	* TemplateControl.cs: changed the way in which ParseControl is
	implemented for the 2.0+ profile. Still not quite there, but
	better and closer to .NET

2008-08-31  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: improved FillControlCache

	* TemplateParser.cs: added support for the LinePragmas directive
	attribute.

	* ControlBuilder.cs: if this instance is a TemplateBuilder do not
	call MyNamingContainer, so that our own ContainerType can be used
	as the binding container (if present).
	Added a cache for children of TemplateBuilder, used later in
	TemplateControlCompiler.

2008-08-26  Marek Habersack  <mhabersack@novell.com>

	* TemplateControlParser.cs: added support for the VirtualPath
	attribute of the Reference directive.
	In the 2.0 profile, all the references are compiled using
	BuildManager.GetCompiledType now.

2008-08-13  Marek Habersack  <mhabersack@novell.com>

	* TemplateBuilder.cs: use a generic List to store the bindings on
	2.0+

2008-08-08  Marek Habersack  <mhabersack@novell.com>

	* StateManagedCollection.cs: set all the contained objects state
	to dirty in SetDirty.

2008-07-28  Marek Habersack  <mhabersack@novell.com>

	* MasterPage.cs: decouple processing of content templates in
	CreateMasterPage from checking whether all the content place
	holder ids are defined. Fixes bug #325114

2008-07-22  Gert Driesen  <drieseng@users.sourceforge.net>

	* LosFormatter.cs (Deserialize): When stream is non-seekable, do not
	attempt to use properties that require a seekable stream. Based on
	patch provided by Dean Brettle (dean@brettle.com). Fixes bug #411115.

2008-07-16  Rodrigo Kumpera  <rkumpera@novell.com>
	* DataBoundLiteralControl.cs: Lazily create staticLiterals.

	* DataBoundLiteralControl.cs (Render): Don't generate
	an intermediate string, write the content directly.

2008-07-14  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: fix the failing tests by moving the form
	RaisePostBackEvent code up in RaisePostBackEvents, so that
	Validate () isn't called together with the registered post back
	events.

2008-07-10  Roei Erez  <roeie@mainsoft.com>

	* ClientScriptManager.cs: Bug in javacript code, usind window scope instead of document.

2008-07-11  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: if adapter exists for the given control, use it for
	rendering. Patch from Christian Hergert
	<christian.hergert@gmail.com>, thanks!

2008-07-10  Roei Erez  <roeie@mainsoft.com>

	* Page.cs: Differentiate between IPostBackEventHandler that was registered by the user, 
	and one that was given as post parameter, so that in case ther post data may trigger both 
	IPostBackEventHandler and IPostBackDataHandler, only the IPostBackDataHandler is actually triggered.

2008-07-09  Rodrigo Kumpera  <rkumpera@novell.com>

	* DataBinder.cs (GetDataItem): Commited stupid code.

2008-07-09  Rodrigo Kumpera  <rkumpera@novell.com>

	* DataBinder.cs (GetDataItem): Use a per-thread cache for
	property lookup.

2008-07-02  Rodrigo Kumpera  <rkumpera@novell.com>

	* Control.cs: Fix the lookup in ResolveAdapter that I
	broke in the previous change.

2008-07-02  Rodrigo Kumpera  <rkumpera@novell.com>

	* Control.cs: Optimize ResolveAdapter a bit more.

2008-07-02  Rodrigo Kumpera  <rkumpera@novell.com>

	* Control.cs: Optimize the Adapter property and ResolveAdapter a bit.

2008-07-01  Rodrigo Kumpera  <rkumpera@novell.com>

	* TemplateControl.cs: Kill a foreach loop.

2008-06-30  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: use atomic incrementation for automatic class
	name creation to avoid Monitor Enter/Exit.

	* UserControlParser.cs: hush the warnings and remove unnecessary
	code.

	* ControlCachePolicy.cs, PageParser.cs, ControlBuilder.cs,
	TemplateParser.cs, SimpleWebHandlerParser.cs, TemplateControl.cs,
	ApplicationFileParser.cs: hush the warnings

	* Page.cs: Context is protected internal in .NET 3.5
	Initialize encryption IVs before returning the transform.

	* Control.cs: in 2.0 we should return the context associated with
	the current page. In 1.0 we ignore the never set field _context
	and keep walking up the parent chain. Also, Context is protected
	internal in .NET 3.5
	Hush the warnings.

2008-06-27  Zoltan Varga  <vargaz@gmail.com>

	* Control.cs (ResolveAdapter): Avoid calling the Context property getter 
	multiple times.

	* TemplateControl.cs: Avoid collecting the automatic event info for each 
	instance.

2008-06-18  Juraj Skripsky  <js@hotfeet.ch>

	* Page.cs (ProcessException): Throw HttpUnhandledException instead of
	TargetInvocationException to match .NET. Fixes bug #400482.

2008-06-18  Marek Habersack  <mhabersack@novell.com>

	* BasePartialCachingControl.cs: implemented the CachePolicy
	property.

	* UserControl.cs: implemented the CachePolicy property.

	* ControlCachePolicy.cs: implemented missing properties and
	methods.

2008-06-11  Marek Habersack  <mhabersack@novell.com>

	* TemplateControl.cs: make sure 'type' isn't null in LoadControl
	before attempting to use it.

2008-06-10 Noam Lampert <noaml@mainsoft.com>

	* TemplateControl.jvm.cs: Don't assume that controls containing page-specific 
	callbacks (e.g. Page_LoadComplete) are necessarily Page derivatives.
	
2008-06-04  Juraj Skrispky  <js@hotfeet.ch>

	* PageParser.cs (ProcessMainAttributes): Take value of
	enableEventValidation from web.config into account. Fixes bug #397099.

2008-06-04  Marek Habersack  <mhabersack@novell.com>

	* PageHandlerFactory.cs: this class should be public. Fixes bug
	#396707

2008-05-30  Marek Habersack  <mhabersack@novell.com>

	* DataBindingCollection.cs, ExpressionBindingCollection.cs: do not
	use synthetized event accessors (to avoid locks).

2008-05-28  Marek Habersack  <mhabersack@novell.com>

	* ReadOnlyDataSourceView.cs: added. Patch contributed by James
	Fitzsimons <james.fitzsimons@gmail.com>, thanks!

	* TemplateParser.cs: added support for #pragma checksum

2008-05-19  Juraj Skripsky  <js@hotfeet.ch>

	* Page.cs (ValidateCollection): Don't check _eventValidation, it
	has nothing to do with the validators.

2008-05-16  Marek Habersack  <mhabersack@novell.com>

	* StateManagedCollection.cs: make {Save,Load}ViewState simpler.

2008-05-15  Marek Habersack  <mhabersack@novell.com>

	* StateManagedCollection.cs: do not query for index of an item in
	a null array. 

2008-05-07  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: added a stack of include directories, to
	properly resolve file relative paths when the #include file=""
	directive is used. Fixes bug #324536

2008-05-05 Igor Zelmanovich <igorz@mainsoft.com>

	* HiddenFieldPageStatePersister.cs: add TARGET_J2EE def
	* Page.cs: remove TARGET_J2EE def
	* Page.jvm.cs: add new internal api such PageState and FacesContext.
	all those changes make PageAdapter works with JSF under TARGET_J2EE.		

2008-04-24  Marek Habersack  <mhabersack@novell.com>

	* RootBuilder.cs: when registering a custom control, add its path
	to the parser dependencies. Fixes bug #377915
	In the 2.0 profile, if the custom control being used was
	registered from web.config and is found in the same directory what
	the file being parsed, throw an exception. This behavior matches
	MS.NET.

	* TemplateParser.cs: added new VirtualPath property, which stores
	the virtual path to the file being parsed.

	* PageParser.cs: set the VirtualPath property in the 2.0 profile
	when constructing the parser.

2008-04-23  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: constructs the VirtualPath using the current
	parser's BaseVirtualDirectory. Fixes bug #381715

2008-04-19  Marek Habersack  <mhabersack@novell.com>

	* SimpleWebHandlerParser.cs: refactoring - move code between
	constructors, reader should be set before initializing the rest of
	the object. Fixes bug #381364

	* TemplateParser.cs: RegisterCustomControl must use absolute
	virtual path when querying the virtual path provider for
	file. Fixes bug #381364

2008-04-18  Marek Habersack  <mhabersack@novell.com>

	* ObjectStateFormatter.cs: ObjectFormatter.WriteObject should not
	use a converter if it can't convert _from_ the type of the object
	being written to the stream. Fixes issues with serializing, e.g.,
	a DataSet.

2008-04-14  Marek Habersack  <mhabersack@novell.com>

	* SimpleWebHandlerParser.cs, TemplateParser.cs, AspGenerator.cs:
	make sure streams are disposed the way they should be.

2008-04-10  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: refactoring - IdSeparator property is internally
	present also in 1.1.

2008-04-08  Dean Brettle <dean@brettle.com>

	* Page.cs (PageAdapter): fixed cast error when a ControlAdapter that
	wasn't a PageAdapter was used.

2008-04-08  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: CodeFile/Src handling uses
	HostingEnvironment.VirtualPathProvider to check for file
	existence.

2008-04-02  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: make SetContext internal (used from tests).

2008-04-01  Marek Habersack  <mhabersack@novell.com>

	* TemplateControl.cs: ParseControl implemented for the 2.0
	profile.

	* UserControlParser.cs: added support for compiling controls
	without input file (e.g. from TemplateControl.ParseControl).

	* TemplateParser.cs: implemented VirtualPathProvider support for
	registering UserControls.
	If there is no input file path provided, auto-generate the class
	name in the ClassName property getter.

2008-03-27  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: added an implementation of the ClientQueryString
	property.

2008-03-13  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: HttpApplication.BinaryDirectories property no longer
	exists, use HttpApplication.BinDirectory instead.

2008-03-09  Dean Brettle <dean@brettle.com> 

	* Page.cs (SavePageControlState, LoadPageControlState): save/load 
	adapter state in 2.0 profile.
	
	* Page.cs (CreateHtmlTextWriter): call Browser.CreateHtmlTextWriter()
	in 2.0 profile.
	
	* Page.cs (RenderPage): call CreateHtmlTextWriter() to get the writer
	in 2.0 profile.
	
	* Page.cs (DeterminePostBackMode, InitOutputCache, 
	RenderClientScriptFormDeclaration,	InternalProcessRequest,
	PageStatePersister): added support for PageAdapters.

	* Control.cs (Adapter, ResolveAdapter): implemented.  Adapter calls
	ResolveAdapter and remembers result.  ResolveAdapter checks for adapters
	of the Type hierarchy until it finds one.
	
	* Control.cs (SaveViewStateRecursive, LoadViewStateRecursive): save/load
	adapter state in 2.0 profile.
	
	* HtmlTextWriter.cs (BeginRender, EndRender): added empty virtual methods
	required by 2.0 profile.  These are called by corresponding methods of
	System.Web.UI.Adapters.ControlAdapter.
	
	* Page.cs, Control.cs: don't access Request.Browser if it couldn't have
	any adapters/writers because there are no files in App_Browsers/.

2008-03-09  Marek Habersack  <mhabersack@novell.com>

	* TemplateControlParser.cs: 2.0 allows controls with extensions
	different than .ascx, as long as they derive from
	System.Web.UI.UserControl and a build provider is available for
	them.

	* TemplateParser.cs: user controls must derive from
	System.Web.UI.UserControl.

	* SimpleWebHandlerParser.cs: if the input file doesn't contain the
	correct directive string (tag name is empty for the <%@ %> tag),
	use the default directive.

2008-02-28  Marek Habersack  <mhabersack@novell.com>

	* TemplateControlParser.cs: when registering a control, check for
	the .ascx extension case-insensitively. Fixes bug #364995

2008-02-28 Igor Zelmanovich <igorz@mainsoft.com>

	* Control.cs:
	fixed exception propagation in case of multiple control with same id
	were found.	 

2008-02-26  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: a better error message.

	* ControlBuilder.cs: if one of the parent builders is a
	TemplateBuilder, use it as the naming container and use its
	ContainerType property as the value of the BindingContainerType
	property.

2008-02-25  Marek Habersack  <mhabersack@novell.com>

	* ControlBuilder.cs: correctly chain up to the parent builder when
	looking for the naming container.

2008-02-21  Marek Habersack  <mhabersack@novell.com>

	* ControlBuilder.cs: introduced a new internal property -
	MyNamingContainer used by the public properties
	NamingContainerType and BindingContainerType. This simplifies the
	code in the latter property, as the binding container type must
	almost always be the same as the naming container type. The only
	exception is when we're inside a content builder, in which case we
	return the parent's BindingContainerType. Fixes bug #363665

2008-02-12  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Page.jvm.cs: StateSerializer.readExternal and writeExternal fixed
	to support viewstate encryption

2008-02-12  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* ObjectStateFormatter.cs: revert of 91820

2008-02-08  Marek Habersack  <mhabersack@novell.com>

	* SimpleWebHandlerParser.cs: always return a non-null value from
	the Program property.

	* TemplateParser.cs: make sure that the Src attribute is treated
	correctly in the 2.0 profile. Fixes bug #319016

2008-02-07  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Page.jvm.cs: added StateSerializer class, fixed processSaveState,
	processRestoreState

2008-02-07  Marek Habersack  <mhabersack@novell.com>

	* PageHandlerFactory.cs: call PageParser.GetCompiledPageInstance
	only - that method calls the appropriate APIs for 1.1 and 2.0
	profiles.

2008-02-06  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Control.cs: fixed ResolveClientUrlInternal for portal url prefixes

2008-02-04  Marek Habersack  <mhabersack@novell.com>

	* SimpleWebHandlerParser.cs: use WebEncoding.FileEncoding when
	reading the source file.

2008-01-30 Igor Zelmanovich <igorz@mainsoft.com>

	* ObjectStateFormatter.cs: 
	ensure ReaderContext.GetCache called with positive arg to prevent from
	ArgumentOutOfRange being thrown.

2008-01-29 Igor Zelmanovich <igorz@mainsoft.com>

	* ObjectStateFormatter.cs: has public constructor.

2008-01-29  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Page.cs: performance optimization of DeterminePostBackMode

2008-01-24  Marek Habersack  <mhabersack@novell.com>

	* PageThemeFileParser.cs: the DefaultBaseType property removed.

	* ApplicationFileParser.cs: added constructor which takes a
	TextReader.
	Removed the DefaultBaseType property.
	Added the Reader property.

	* MasterPage.cs: use BuildManager to create page instance.

	* WebHandlerParser.cs: added a compatibility constructor.

	* TemplateControl.cs: GetTypeFromControlPath uses
	BuildManager.GetCompiledType for the 2.0+ profile.

	* WebServiceParser.cs: added a compatibility internal
	constructor.

	* SimpleWebHandlerParser.cs: properly treat context and
	physicalPath parameters to the constructor, especially for the
	2.0+ profile where they are obsolete.
	Dependencies are added using virtual paths.

	* PageThemeParser.cs: DefaultBaseType property removed.

	* Page.cs: Style sheets and themes are compiled using
	BuildManager.
	Previous page instance is compiled using BuildManager for the 2.0+
	profile.

	* MasterPageParser.cs: Use BuildManager to create instance and
	compile types.
	Dependencies are added using virtual paths.

	* SimpleHandlerFactory.cs: Use
	BuildManager.CreateInstanceFromVirtualPath for the 2.0+ profile.

	* UserControlParser.cs: if the parser is created using a
	TextReader, take the input file path from the virtual path.
	Added a new internal constructor which takes both a TextReader and
	an inputFile parameters.
	Set base type to the default in the constructors.
	Use virtual path when setting master page dependency.
	DefaultBaseTypename doesn't use a literal string in the 2.0+
	profile, it gets the base type from the application
	configuration.

	* TemplateControlParser.cs: Dependency on a control/page mentioned
	in the Reference directive is registered using the virtual path.
	TextReader property is an override now.

	* TemplateParser.cs: RegisterCustomControl adds a dependency on
	the virtual path, not the physical path. The custom control is
	compiled using BuildManager.GetCompiledType for the 2.0+ profile.
	RegisterNamespace does not add a dependency on the assembly.
	LoadType does not add a dependency on the assembly.
	Legacy Src attribute is handled properly now.
	Dependency on code-behind (Src and CodeFile directive attributes)
	is added using the code-behind file's virtual path.
	GetAssemblyFromSource adds a dependency using the virtual path.
	DefaultBaseType implemented here, using DefaultBaseTypeName which
	is implemented in the descendant classes.
	Added internal CodeBehindSource property, used by build
	providers.
	ClassName property works correctly if inputFile is missing
	(e.g. when the parser has been created using a TextReader)
	Added a virtual internal property TextReader to return the readed
	which has been used to create the parser instance.

	* PageHandlerFactory.cs: GetHandler uses
	BuildManager.CreateInstanceFromVirtualPath for the 2.0+ profile.

	* PageParser.cs: set the default base type in the constructors.
	If the input file is not passed to a constructor, take the input
	file path from the virtual path.
	GetCompiledPageInstance uses BuildManager.CreateInstanceFromVirtualPath
	for the 2.0+ profile.
	MasterPage dependency is set using the virtual path of the master
	page.
	MasterPage is compiled into a type using BuildManager.GetCompiledType.
	GetCompiledPageType uses BuildManager.GetCompiledType for the 2.0
	profile.
	DefaultBaseType override removed, it is implemented in the
	TemplateParser class.
	DefaultBaseTypename doesn't use a literal string in the 2.0+
	profile, it gets the base type from the application
	configuration.
	
2008-01-17 Igor Zelmanovich <igorz@mainsoft.com>

	* Control.cs: fix ResolveUrl for some cases.

2008-01-17 Igor Zelmanovich <igorz@mainsoft.com>

	* Control.cs: consider changes in BaseCompiler.cs.

2008-01-14 Igor Zelmanovich <igorz@mainsoft.com>

	* Control.cs: fixed ResolveClientUrl.
	use Context.FilePath instead of Context.CurrentExecutionPath for 
	resolvint app. releative path.	

2008-13-01  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Page.jvm.cs: optimized SetupResponseWriter, fixed getChildCount and
	getChildren methods
	* Control.jvm.cs: fixed getChildCount method

2008-01-09 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs:
	* ClientScriptManager.cs:
	refactoring.		

2008-01-07 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs: added internal API
	* IScriptManager.cs: added new internal interface.	

2008-01-07 Igor Zelmanovich <igorz@mainsoft.com>

	* ClientScriptManager.cs:
	* Control.jvm.cs:			
	* Page.cs:
	* Page.jvm.cs:
	for TARGET_J2EE ensure page life cycle is completed in CrossPagePostBack.
	
2008-01-07  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: handle legacy 'src' attribute in the 2.0
	profile in the correct way. Fixes bug #319016
	BaseType is global by default.

2008-01-02  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: added a wrapper class for server-side script
	snippets, to keep track of locations.
	Store main directive location for later use in DirectiveLocation
	internal property.

2008-01-01 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs:
	make SubmitDisabledControls and SetFocus works in multiform environment		

2007-12-31  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Page.cs: fixed thread abort handling in ProcessRequest

2007-12-27  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: check for base type globality also when the
	default type is used.

2007-12-26 Igor Zelmanovich <igorz@mainsoft.com>

	* Control.cs:
	* Page.cs:
	make Trace considers control state info.		

2007-12-20 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs:	refactoring:
	split method such InternalProcessRequest to several methods.
	It is required for implementing alternative hosting under TARGET_J2EE.

2007-12-20  Marek Habersack  <mhabersack@novell.com>

	* ClientScriptManager.cs: write hidden fields inside a div only in
	the 2.0 profile. Fixes bug #349991

2007-12-20 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs:
	* Control.cs:
	* ClientScriptManager.cs:		
	refactoring: removed Page.LifeCycle internal API, 
	used Control's stateMask flag instead. 

2007-12-17  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: support the 'Src' directive attribute on 2.0
	profile as well as on the 1.1 one. Fixes bug #319016

2007-12-16 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs: on CrossPagePostBack previous page is processed by Execute API,
	that allow CurrentHandler property works correctly during Page processing.

2007-12-15  Marek Habersack  <mhabersack@novell.com>

	* SimpleWebHandlerParser.cs: Default value for Debug is taken from
	the compilation config section.

	* TemplateParser.cs: Added LoadConfigDefaults here, loads default
	value for Debug from the compilation section.
	Cache CompilationConfig in methods where it is accessed more than
	once.
	Default value for Debug in ProcessMainAttributes is taken from the
	compilation config.

	* PageParser.cs, TemplateControlParser.cs: LoadPagesConfigDefaults
	renamed to LoadConfigDefaults.

2007-12-13  Marek Habersack  <mhabersack@novell.com>

	* ClientScriptManager.cs, MasterPageParser.cs, Control.cs,
	Page.cs: speed optimization - use String.Concat instead of
	String.Format in some cases.

2007-12-13 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs:
	- When Transfer/Execute is called with preserveForm=true, transferred 
	page is not processed as PostBack but form collection is preserved.
	- When Execute is called more than once, PreviousPage property is set 
	correct.

2007-11-22  Marek Habersack  <mhabersack@novell.com>

	* OutputCacheParameters.cs: added the VaryByContentEncoding
	property.

	* Page.cs: added new InitCache overload.

	* TemplateParser.cs: added support for the VaryByContentEncodings
	attribute of the OutputCache directive.

2007-11-19  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Page.jvm.cs: IsMultiForm optimized, cached configuration call

2007-11-14  Marek Habersack  <mhabersack@novell.com>

	* SimpleWebHandlerParser.cs: expect GetTypeFromBin to be called
	with a fully qualified type name and act accordingly. Fixes bug
	#341456.

2007-11-13 Igor Zelmanovich <igorz@mainsoft.com>

	* ClientScriptManager.cs: 
	Ensure a script resource is included once in multi form environment.

2007-11-07 Igor Zelmanovich <igorz@mainsoft.com>

	* PageParser.cs: fixed initial value of tracemode.

2007-11-07 Igor Zelmanovich <igorz@mainsoft.com>

	* Control.cs: removes '#define MONO_TRACE'.
	It allows to run MONO in release mode without supplementary trace info.	

2007-11-07 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs: added missing trace information for NET_2_0

2007-11-06 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs:
	* Page.jvm.cs:
	affects	TARGET_J2EE only:
	validators state (isValid) is restored on GetBack.	

2007-11-06  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: formatting

2007-11-05  Marek Habersack  <mhabersack@novell.com>

	* ClientScriptManager.cs: EventStateFieldName is a constant now.

	* Page.cs: use full control ids when processing post data. Fixes
	bug #317615

2007-11-03  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: need to append a "/" to TemplateSourceDirectory
	before calling VirtualPathUtility.Combine, in order to get the
	correct physical path to the requested file. Combine looks for the
	last occurrence of "/" to determine where the relative paths
	should be joined.

	* MinimizableAttributeTypeConverter.cs: don't throw on null value,
	call the base class method in that case.

	* SimpleWebHandlerParser.cs: don't NRE on a null assembly passed
	to AddAssembly.
	AddAssemblyByName must check the return value of
	Assembly.LoadWithPartialName, as the method doesn't throw on
	missing assembly, it returns null instead.

	* ClientScriptManager.cs: eventValidationArray is serialized in an
	optimized fashion, so that its serialized form occupies only as
	many slots as were actually used. It may result in that an array
	of 0 entries will be serialized and then
	restored. EnsureEventValidationArray takes that into consideration
	now.

2007-11-01  Marek Habersack  <mhabersack@novell.com>

	* Page.cs, ObjectStateFormatter.cs: use the new
	MachineKeySectionUtils class wherever necessary.

2007-10-29  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: add the file pointed to by the Src or
	CodeFile attributes to the list of page cache dependencies.

	* PageParser.cs, UserControlParser.cs: Add the MasterPage file to
	the list of page cache dependencies.

	* MasterPageParser.cs: add the source pointed to by VirtualPath to
	the list of cache dependencies.

2007-10-23  Marek Habersack  <mhabersack@novell.com>

	* ClientScriptManager.cs: added two constants to define start/end
	script block comments rendering. 1.1 uses HTML comments, while 2.0
	uses a CDATA block.

	* Page.cs: render script blocks with start/end comments taken from
	the ClientScriptManager constants above.

2007-10-17  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: removed code that ignored the Async and
	AsyncTimeout attributes.

	* PageParser.cs: handle the Async and AsyncTimeout attributes
	here. Fixes bug #325450

	* Control.cs: properly configure control visibility in
	PreRenderRecursiveInternal. The check must be made by looking at
	the Visible value, not at the flags directly. Fixes bug #325303

2007-10-03  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: complete implementation of ValidationGroups. Fixes bug
	#330423. Patch from Juraj Skripsky <juraj@hotfeet.ch>, thanks!

2007-10-02  Marek Habersack  <mhabersack@novell.com>

	* SimpleWebHandlerParser.cs: fix the way types are loaded from
	top-level assemblies.

2007-10-01  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: do not set IsPostBack to true if we're in transfer from
	another page. Fixes bug #329341

2007-09-18  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: VaryByControl OutputCache attribute is
	allowed for both controls and pages in 2.0.

2007-09-11  Marek Habersack  <mhabersack@novell.com>

	* WebServiceParser.cs: inputFile is a virtual path to the service,
	not a physical one in GetCompiledType.

2007-09-05  Marek Habersack  <mhabersack@novell.com>

	* RootBuilder.cs: make Foundry settable, but protect the backing
	field from being set to null.

2007-09-04  Marek Habersack  <mhabersack@novell.com>

	* TemplateParser.cs: don't optimize for case when 'name' is a full
	assembly name in AddAssemblyByName. Assembly.Load triggers the
	AssemblyResolve event on the current AppDomain if an assembly
	isn't found and we use this mechanism to map names like "App_Code"
	or "App_GlobalResources" to the real names of those dynamic
	assemblies.

2007-09-02 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.jvm.cs: implemented IsMultiForm property to take 
	the value from configuration.

2007-08-30 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs: fixed MaintainScrollPositionOnPostBack feature.

2007-08-29  Marek Habersack  <mhabersack@novell.com>

	* TemplateBuilder.cs: check for and store for later use the
	TemplateContainerAttribute. Added a nullable property
	TemplateInstance to return the value of the attribute.

2007-08-29  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Control.cs: optimized performance in InitControlsCache()

2007-08-28  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: The following property values are returned from cached
	fields instead of looking them up on Context: Application,
	Response, Request, Cache (as determined by the tests).
	Added a backing field for the Session property.
	Session doesn't throw an exception when Context is null - it
	silently ignores it and throws a session not available exception.
	_context is never used directly, the Context property is used
	instead. Fixes bug #82606

2007-08-23  Juraj Skripsky <js@hotfeet.ch>

	* Control.cs (InitControlsCache): Make the hash table case insensitive to
	make FindControl compatible with MS.net again. Add LAMESPEC note. 

2007-08-23  Marek Habersack  <mhabersack@novell.com>

	* SimpleWebHandlerParser.cs: use
	HttpApplication.BinDirectoryAssemblies in AddAssembliesInBin and
	LoadAssemblyFromBin.
	Restore the old logic in GetTypeFromBin, also use
	HttpApplication.BinDirectoryAssemblies there.

	* TemplateParser.cs: use HttpApplication.BinDirectories to
	interate over the list of bin dirs.
	Use HttpApplication.BinDirectoryAssemblies in AddAssembliesInBin.

2007-08-23 Igor Zelmanovich <igorz@mainsoft.com>

	* ClientScriptManager.cs: encode values of hidden fields. 

2007-08-21  Marek Habersack  <mhabersack@novell.com>

	* SimpleWebHandlerParser.cs: use HttpApplication.PrivateBinPath
	enumerator when loading or adding assemblies from binary
	directories. Remove unused PrivateBinPath property.

	* ControlBuilder.cs: remove unused PrivateBinPath property.

	* TemplateParser.cs: use HttpApplication.PrivateBinPath when
	adding assemblis and loading types.

2007-08-21 Igor Zelmanovich <igorz@mainsoft.com>

	* ClientScriptManager.cs: fixed onsubmit script for MultiForm environment 

2007-08-20  Marek Habersack  <mhabersack@novell.com>

	* MasterPage.cs: use the place holder IDs collection instead of
	the placholder collection to see if we have the place holder in
	the master page. Fixes bug #82485.

	* MasterPageParser.cs: store the content place holder ids in the
	internal cache to gain access to them when needed.

2007-08-19  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* MasterPageParser.jvm.cs: optimized GetDirectory call
	* PageTheme.cs: optimized string formatting in CreateSkinKey

2007-08-19  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Page.cs: ResetEventValidationState call moved back to
	InternalProcessRequest

2007-08-19  Marek Habersack  <mhabersack@novell.com>

	* Page.cs: make sure not to ever pass a null value as the value
	of the postCollection parameter to control's LoadPostData. The
	ProcessPostData's 'data' parameter is no longer passed to
	LoadPostData, instead we pass _requestValueCollection or an empty
	collection if it is null. The controls should always get all the
	request data, no matter if the 'data' parameter is null or
	not. Possible fix for bug #82477.

2007-08-18  Gert Driesen  <drieseng@users.sourceforge.net>

	* MasterPage.cs: Include relative URL of MasterPage in exception
	message.

2007-08-18  Marek Habersack  <mhabersack@novell.com>

	* MasterPage.cs: if a ContentPlaceHolder ID is not found in the
	associated MasterPage, throw an exception. This is compatible with
	what MS.NET does. Fixes bug #82447.

2007-08-15 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs: fixed: 
	- avoid NullRefferenceException from Title property
	when Page does not have <head runat="server>,
	- scriptManager.ResetEventValidationState () is called from Render.
	It allows multiply calling of RenderControl returns the same output.

2007-08-14  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Control.cs: optimized GetDirectory call in ResolveClientUrl

2007-08-14  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* ClientScriptManager.cs: otimized string.Replace in GetScriptLiteral

2007-08-14  Marek Habersack  <mhabersack@novell.com>

	* Control.cs: include the actual exception when reporting control
	id clash.

2007-08-10  Gert Driesen  <drieseng@users.sourceforge.net>

	* PageParser.cs: Replace enableSessionState and readOnlySessionState
	bools with enum backed field. Move 1.0 profile code for checking value
	of EnableSessionState pages config to PagesConfigurationHandler.
	Fixes bug #82392 for 1.0 profile.

2007-08-09  Marek Habersack <mhabersack@novell.com>

	* PageParser.cs: honor web.config enableSessionState
	ReadOnly setting instead of overwriting based on default value for 
	page directive EnableSessionState. Patch from Joel Reed
	<joelwreed@comcast.com>, thanks! Fixes bug #82392

2007-08-09  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* CssStyleCollection.cs: used ListDictionary instead of
	HybridDictionary as underlaying data structure

2007-08-07  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Control.cs: refactoring of LookForControlByName with caching

2007-08-06 Igor Zelmanovich <igorz@mainsoft.com>

	* DataSourceView.cs: fixed: 
	view raises onchange event when datasource is chenged.			

2007-08-06 Igor Zelmanovich <igorz@mainsoft.com>

	* Control.cs: fixed: control ID management.			

2007-08-06 Igor Zelmanovich <igorz@mainsoft.com>

	* Control.cs: refactoring: code formatting only.		

2007-08-05  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* HtmlTextWriter.cs: performance refactoring, optimized AddAttribute
	overloads, used StringComparer for tag, styles and attrs hashtables
	fixed AddAttribute, id attr should not be encoded by default

2007-07-31  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Control.cs: fixed AppRelativeTemplateSourceDirectory that should
	depend on AppRelativeVirtualPath
	* Control.jvm.cs: fixed TemplateSourceDirectory that should depend on
	AppRelativeTemplateSourceDirectory

2007-07-30  Vladimir Krasnov  <vladimirk@mainsoft.com>

	* Page.jvm.cs: fixed RenderResponse property, should not fail in no
	Contex available

2007-07-29 Igor Zelmanovich <igorz@mainsoft.com>

	* Page.cs: added TARGET_J2EE variable at client side.

2007-07-24 Igor Zelmanovich <igorz@mainsoft.com>

	* ClientScriptManager.cs:
	* Page.cs:
	* Page.jvm.cs:
	added new internal property IsMultiForm which returns false under
	!TARGET_J2EE (Portal). All client scripts are rendered 
	according this property.	
		
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.
