2009-12-14 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web.Compilation / ChangeLog
index 4fb9df7f5934c0e7f977c29825f306faa0df7315..403658e5127a32882b80f1f0e10dae029cc0c2be 100644 (file)
@@ -1,3 +1,429 @@
+2009-12-14  Marek Habersack  <mhabersack@novell.com>
+
+       * AspParser.cs: PlainText should calculate the boundaries of
+       text using character offset, not line offset. Fixes bug #562286
+       InternalLineOffset and Internal properties need not exist.
+
+       * AspGenerator.cs: AspParser inner parser constructor takes 5
+       parameters now - accepts character offset of the current outer
+       parser's position.
+
+2009-12-08  Marek Habersack  <mhabersack@novell.com>
+
+       * TemplateControlCompiler.cs: GetConverterForMember looks up
+       member type converters using type description providers in
+       addition to custom attributes.
+       Result of GenerateInstance isn't cast to the target type if the
+       type isn't public.
+
+2009-11-13  Marek Habersack  <mhabersack@novell.com>
+
+       * TemplateBuildProvider.cs: if directive has empty string as a
+       value and it represents a path, do not create a VirtualPath.
+
+2009-11-10  Marek Habersack  <mhabersack@novell.com>
+
+       * BaseCompiler.cs: parser.Imports is a Dictionary <>/Hashtable
+       now.
+
+       * AspComponentFoundry.cs: system.web/pages section is not confined
+       to the top-level web.config
+
+2009-11-03  Marek Habersack  <mhabersack@novell.com>
+
+       * AppResourcesCompiler.cs: put default culture resources in a
+       separate collection, exposed by the DefaultCultureFiles property.
+
+       * AppResourcesAssemblyBuilder.cs: compile the default assembly
+       before the satellite ones. Use the default assembly as template
+       for generation of the satellite ones.
+
+2009-10-22  Marek Habersack  <mhabersack@novell.com>
+
+       * WsdlBuildProvider.cs: a different way to generate code from
+       wsdl. Code is generated in the top-level namespace to match .NET
+
+2009-10-12  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManager.cs: make sure to construct correct physical path
+       for every precompiled key in FixVirtualPaths. Fixes bug #546053
+
+2009-09-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * BuildManager.cs: load/set the global resources assembly for
+       precompiled and merged sites correctly.
+
+2009-09-30  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManager.cs: if precompilation file contains virtual path
+       with trailing slash (e.g. for themes), remove the slash. Fixes bug
+       #541271
+
+2009-09-28  Marek Habersack  <mhabersack@novell.com>
+
+       * TemplateControlCompiler.cs: ResourceProviderHasObject calls
+       HttpContext.GetResourceProvider with the current file's path, not
+       current request's. Fixes situations when localized control lives
+       in a master page or user control. Fixes bug #542484
+
+       * BaseCompiler.cs: introduced a helper property InputVirtualPath
+       which returns a VirtualPath object for the current control's
+       virtual path.
+
+2009-09-22  Marek Habersack  <mhabersack@novell.com>
+
+       * TemplateControlCompiler.cs: ResourceProviderHasObject needs to
+       close ResourceReader instance obtained from resource provider.
+
+       * DefaultResourceProvider.cs: implemented the ResourceReader
+       property. Fixes bug #520397
+
+2009-09-08  Marek Habersack  <mhabersack@novell.com>
+
+       * AppCodeCompiler.cs: HaveCustomProfile returns true for profiles
+       which don't contain top-level properties. Fixes bug #535655
+
+       * BuildManager.cs: added IsPrecompiled internal property.
+
+       * AppResourcesCompiler.cs: load precompiled site local and global
+       resource assemblies from static constructor. Fixes bugs #536138
+       and #536143
+
+2009-09-03  Marek Habersack  <mhabersack@novell.com>
+
+       * AppResourcesCompiler.cs: SanitizeResourceName uses VB/C# rules
+       to attempt to create valid identifiers from resource
+       names. Identifier is also escaped by the CodeDOM provider before
+       returning. Possible fix for bug #536364
+
+2009-08-27  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManager.cs: when HttpRequest.FilePath is '/' in
+       GetAbsoluteVirtualPath, don't try to use
+       VirtualPathUtility.GetDirectory on it. Fixes bug #532679
+
+2009-08-26  Marek Habersack  <mhabersack@novell.com>
+
+       * AspTokenizer.cs: when there's put back record and we're in
+       verbatim mode, get_token must be careful with what it returns - it
+       can't return Token.* values, instead it should look at Value and
+       retrieve the next token from it. Fixes bug #400807
+
+2009-08-25  Marek Habersack  <mhabersack@novell.com>
+
+       * AspGenerator.cs: correctly parse server-side tags nested in
+       client-side ones. Fixes bug #323719
+       Detect IE conditional comments when processing comment blocks in
+       TextParsed. Fixes bug #367273
+
+2009-08-24  Marek Habersack  <mhabersack@novell.com>
+
+       * PageBuildProvider.cs: MapPath now takes a VirtualPath
+       instance. Part of fix for bug #463813
+
+       * BuildManager.cs: public APIs which take virtual path strings as
+       their parameters got internal counterparts accepting a VirtualPath
+       instance in place of string. Part of fix for bug #463813
+
+       * TemplateBuildProvider.cs: ExtractDependencies checks if the
+       input has already been parsed/compiled and, if yes, adds
+       dependencies from the TemplateParser to the list of the ones
+       extracted locally. Fixes bug #377915
+
+       * GenericBuildProvider.cs: added Parsed property.
+       MapPath now takes a VirtualPath instance. Part of fix for bug
+       #463813
+
+2009-08-21  Marek Habersack  <mhabersack@novell.com>
+
+       * GenericBuildProvider.cs: added internal property LanguageName
+       override which calls GetParserLanguage to get language name
+       instead of using the application default one.
+
+       * BuildManagerDirectoryBuilder.cs: removed CodeDOM provider cache,
+       provider types are retrieved from build providers while assigning
+       them to groups. Fixes bug #533166
+
+2009-08-18  Marek Habersack  <mhabersack@novell.com>
+
+       * AspParser.cs: added a constructor which creates an internal
+       parser, nested within the outer one, and adjusts its ILocation
+       members to report correct locations in the outer parser for better
+       error reporting. Inner parser also returns the outer's FileText,
+       if available.
+
+       * AspGenerator.cs: restored part of r138474 reverted in r138657,
+       r138658 and r138659 to fix bug #525104
+       BuilderLocation creates a copy of Location for its own use (since
+       the ILocation passed is actually AspParser, the line numbers
+       change between creating a BuilderLocation and using its Location
+       member).
+       The end of tag, expression and client comment regular expressions
+       now use lazy quantifiers. This fixes bugs #525104 and #517656
+       Client side comment blocks aren't ignored anymore, they are parsed
+       just as the other parts of the document. Fixes bug #524358
+       
+2009-08-15  Marek Habersack  <mhabersack@novell.com>
+
+       * AspGenerator.cs: CodeRenderParser.DoParseExpressions - match
+       newline characters inside expressions. Fixes bug #526449
+
+2009-08-14  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManagerDirectoryBuilder.cs: when VirtualPathProvider
+       reports a virtual directory doesn't exist, try to get the
+       requested virtual path using VirtualPathProvider.GetFile. Fixes
+       #525974
+
+2009-07-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * BuildManager.cs: path fixup should work now for /foo running on
+       /foo. Fixes bug #526563.
+
+2009-07-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * BuildManager.cs: precompilation setup failed if the precompiled
+       virtual directory was / and it was deployed somewhere else.
+
+2009-07-21  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * XsdBuildProvider.cs: Use System.Data.Design version of
+       TypedDataSetGenerator instead of System.Data's.
+       
+2009-07-21  Marek Habersack  <mhabersack@novell.com>
+
+       * AspTokenizer.cs: in put_back, store inTag value as well.
+
+       * AspParser.cs: correctly parse code like "<asp:tag> < </asp:tag>"
+
+       * BuildManager.cs: GetReferencedAssemblies unconditionally
+       includes all assemblies from bin/ for precompiled sites. Fixes bug
+       #502016
+
+2009-07-18  Marek Habersack  <mhabersack@novell.com>
+
+       * DefaultResourceProvider.cs: if GetResourceObject is passed a
+       null or empty classKey it just returns null.
+
+       * AppResourcesAssemblyBuilder.cs: satellite assemblies are now
+       built using al instead of gmcs - makes the build slightly faster.
+
+2009-07-13  Marek Habersack  <mhabersack@novell.com>
+
+       * AppCodeCompiler.cs: wrap HttpApplication.LoadTypeFromBin call in
+       try/catch, so that we can wrap the possible exception in
+       HttpException.
+
+2009-07-09  Marek Habersack  <mhabersack@novell.com>
+
+       * DefaultResourceProvider.cs, DefaultResourceProviderFactory.cs:
+       added
+
+2009-07-08  Marek Habersack  <mhabersack@novell.com>
+
+       * AspParser.cs: GetServerTag mustn't treat <% # ... %> as
+       data-binding directives. Fixes bug #520024
+
+       * AssemblyBuilder.cs: if debugging information is on, append
+       /d:DEBUG to the compiler's command line.
+
+2009-06-30  Marek Habersack  <mhabersack@novell.com>
+
+       * AspGenerator.cs: TextParsed must remove client-side comments
+       from the passed text before attempting to parse the text for
+       server side controls and expressions. Fixes bug #517656
+
+2009-06-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * TemplateControlCompiler.cs: use the 'Empty' field for Unit and
+       FontUnit.
+
+2009-06-15  Marek Habersack  <mhabersack@novell.com>
+
+       * AspGenerator.cs: CreateRootBuilder quits when root builder
+       already exist. This can happen when recursively parsing an include
+       file. Fixes bug #512028
+
+2009-06-12  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManager.cs: avoid a NREX in FixVirtualPath
+
+2009-06-11  Marek Habersack  <mhabersack@novell.com>
+
+       * PageCompiler.cs: if generating code to assign output cache
+       parameters, use special case for generating OutputCacheLocation
+       enum reference. Fixes bug #512037
+
+2009-06-04  Marek Habersack  <mhabersack@novell.com>
+
+       * AspGenerator.cs: if plain text is parsed and it contains
+       server-side controls, parse and process them. Fixes bug #508888
+
+2009-06-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * BuildManager.cs: allow deployment of precompiled applications under
+       any virtual path, not just the default one used when precompiling.
+       Fixes bug #483268.
+
+2009-06-01  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManager.cs: when throwing a 404 exception, pass the virtual
+       path to the exception constructor.
+
+       * AspGenerator.cs: fix mapping of our tag types into
+       CodeConstructType. Fixes bug #508570
+
+2009-05-26  Marek Habersack  <mhabersack@novell.com>
+
+       * AspGenerator.cs: before including a file specified with the
+       <!--#include file="" --> directive, check if it's within the
+       current application's root.
+
+2009-05-18  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManager.cs: GetPrecompiledApplicationType () uses
+       VirtualPathUtility.Combine to build global.asax virtual
+       path. Patch from Robert Jordan <robertj@gmx.net>, thanks! Fixes
+       bug #504615
+
+2009-05-10  Marek Habersack  <mhabersack@novell.com>
+
+       * AspGenerator.cs: keep processing the tag if it is not a server
+       one and contains expressions and no code render blocks.
+
+2009-05-05  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManager.cs: RemoveFailedAssemblies wraps the compilation
+       exception to be rethrown in a HttpException instance.
+
+       * AspGenerator.cs: create a Location and pass it to the parser
+       before calling AddDirective from GetInheritedType, so that we get
+       meaningful exception messages with source, line information etc.
+
+2009-05-04  Marek Habersack  <mhabersack@novell.com>
+
+       * ThemeDirectoryBuildProvider.cs: use new AspGenerator constructor
+       which takes AspComponentFoundery as its
+       parameter. AspGenerator.RootBuilder isn't initialized until after
+       the parser is initialized.
+
+       * TemplateControlCompiler.cs: make sure to call
+       ProcessGeneratedCode on each instance of ControlBuilder after it's
+       fully generated. Fixes bug #500075
+
+       * TemplateBuildProvider.cs: moved the directive regex to
+       AspGenerator
+
+       * BaseCompiler.cs: added two internal properties, BaseType and
+       DerivedType, which are used in calls to
+       ControlBuilder.ProcessGeneratedCode. Fixes bug #500075
+
+       * AspGenerator.cs: implemented a work around for our parser
+       limitation which is unable to extract the page/control's base type
+       before parsing the actual file contents. This is necessary to
+       support ASP.NET MVC's "generic" Inherits attribute. The reason we
+       need to find out what the base type is before parsing the file is
+       that we need to look at the type's custom attributes to see if a
+       root control builder type is specified (which is what ASP.NET MVC
+       does) and, if yes, use it instead of the default type. Fixes bug
+       #500075
+
+2009-04-30  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManager.cs: when BuildInner catches a compilation
+       exception, wrap it in HttpException before re-throwing.
+
+2009-04-28  Marek Habersack  <mhabersack@novell.com>
+
+       * AspGenerator.cs: ProcessTag doesn't process a tag which is not
+       server-side and which has declarative expressions embedded. Fixes
+       bug #498637
+
+2009-04-24  Marek Habersack  <mhabersack@novell.com>
+
+       * AspGenerator.cs: ProcessCode should _not_ stop processing the
+       passed code string if the filter's ProcessCodeConstruct returns
+       false. Fixes bug #497775
+
+2009-04-21  Marek Habersack  <mhabersack@novell.com>
+
+       * PageCompiler.cs: implemented new way of setting output cache
+       parameters in the 2.0 profile. The generated code is now the same
+       as on .NET and uses the OutputCacheParameters class to pass
+       settings to InitOutputCache.
+
+2009-04-17  Marek Habersack  <mhabersack@novell.com>
+
+       * AspGenerator.cs: if thead/tbody are parsed as children of a
+       server-side table control, ignore them. Fixes bug #481622
+
+2009-04-16  Marek Habersack  <mhabersack@novell.com>
+
+       * TemplateControlCompiler.cs: using a regexp to check whether an
+       expression is a Bind one. Fixes bug #493639
+       AssignPropertyFromResources now checks whether the field/property
+       passed to it is decorated with the Localizable custom attribute
+       and whether the resource provider contains an entry for that
+       property.
+
+2009-04-15  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManager.cs: do not add all assemblies in bin/ when serving
+       a precompiled site. Fixes bug #493873
+       When serving a precompiled site, check if the bin/ directory
+       contains certain well-known assemblies and load them if present.
+
+2009-04-07  Marek Habersack  <mhabersack@novell.com>
+
+       * TemplateControlCompiler.cs: GenerateExpressionFromString doesn't
+       assume that the passed member is a property anymore. Fixes bug
+       #492252
+
+2009-04-06  Marek Habersack  <mhabersack@novell.com>
+
+       * BuildManager.cs: make sure that precompiled is not null before
+       using it in GetPrecompiledType.
+
+2009-04-03  Marek Habersack  <mhabersack@novell.com>
+
+       * AspParser.cs: local copy of checksum generated by the tokenizer
+       is made right after parsing is done.
+
+       * AspGenerator.cs: set tparser.MD5Checksum in Parse instead of in
+       InitParser. Avoids empty checksums in #pragma checksum.
+
+2009-04-02  Marek Habersack  <mhabersack@novell.com>
+
+       * CompilationException.cs: skip warnings in ErrorMessage and
+       ErrorLines
+
+       * BuildManager.cs: when an error occurs while compiling the
+       requested virtual path, throw the exception, do not attempt to
+       build again.
+
+       * TemplateControlCompiler.cs: implemented missing converter for
+       the ExpandDepth property. Fixes bug #490860
+
+2009-04-01  Marek Habersack  <mhabersack@novell.com>
+
+       * AssemblyBuilder.cs: CSharpCodePragmaGenerator.ReserveSpace:
+       added the 2 extra chars to pragmaChecksumStaticCount constant (the
+       ones added by Gonzalo below) and removed one NewLine to account
+       for Martin's change below.
+       VBCodePragmaGenerator.ReserveSpace - one newline follows
+       #ExternalSource.
+       VBCodePragmaGenerator.DecorateFile - one newline follows
+       #ExternalSource.
+
+2009-04-01  Martin Baulig  <martin@ximian.com>
+
+       * AssemblyBuilder.cs: Don't emit a blank line after the #line as
+       thid'd cause all line numbers to be off by 1.
+
+2009-03-31 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * AssemblyBuilder.cs: the guid has to be quoted.
+
 2009-03-31  Marek Habersack  <mhabersack@novell.com>
 
        * All of the below are part of the fix for bug #489687
        for the virtualPath parameter.
 
        * ThemeBuildProvider.cs: use new parser constructors which take
-       VirtualPath instances instead of strings.o
+       VirtualPath instances instead of strings.
 
 2009-03-30  Marek Habersack  <mhabersack@novell.com>