2009-09-15 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web.UI / ChangeLog
index 7b5d5e228c9ffbd34a4473a8472617795b71fa5a..fa6b45d9050fe7898f8698ee7c34e7d66a866239 100644 (file)
@@ -1,3 +1,411 @@
+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