-2009-02-06 Marek Habersack <mhabersack@novell.com>
+2010-07-23 Marek Habersack <mhabersack@novell.com>
- * Control.cs: partially restore the ViewStateShouldBeSaved method
- in order to introduce a small optimization - when the control's
- EnableViewState is false, there is no point in checking all the
- child controls.
+ * 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>