2008-03-13 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web.UI / ChangeLog
1 2008-03-13  Marek Habersack  <mhabersack@novell.com>
2
3         * TemplateParser.cs: HttpApplication.BinaryDirectories property no longer
4         exists, use HttpApplication.BinDirectory instead.
5
6 2008-03-09  Dean Brettle <dean@brettle.com> 
7
8         * Page.cs (SavePageControlState, LoadPageControlState): save/load 
9         adapter state in 2.0 profile.
10         
11         * Page.cs (CreateHtmlTextWriter): call Browser.CreateHtmlTextWriter()
12         in 2.0 profile.
13         
14         * Page.cs (RenderPage): call CreateHtmlTextWriter() to get the writer
15         in 2.0 profile.
16         
17         * Page.cs (DeterminePostBackMode, InitOutputCache, 
18         RenderClientScriptFormDeclaration,      InternalProcessRequest,
19         PageStatePersister): added support for PageAdapters.
20
21         * Control.cs (Adapter, ResolveAdapter): implemented.  Adapter calls
22         ResolveAdapter and remembers result.  ResolveAdapter checks for adapters
23         of the Type hierarchy until it finds one.
24         
25         * Control.cs (SaveViewStateRecursive, LoadViewStateRecursive): save/load
26         adapter state in 2.0 profile.
27         
28         * HtmlTextWriter.cs (BeginRender, EndRender): added empty virtual methods
29         required by 2.0 profile.  These are called by corresponding methods of
30         System.Web.UI.Adapters.ControlAdapter.
31         
32         * Page.cs, Control.cs: don't access Request.Browser if it couldn't have
33         any adapters/writers because there are no files in App_Browsers/.
34
35 2008-03-09  Marek Habersack  <mhabersack@novell.com>
36
37         * TemplateControlParser.cs: 2.0 allows controls with extensions
38         different than .ascx, as long as they derive from
39         System.Web.UI.UserControl and a build provider is available for
40         them.
41
42         * TemplateParser.cs: user controls must derive from
43         System.Web.UI.UserControl.
44
45         * SimpleWebHandlerParser.cs: if the input file doesn't contain the
46         correct directive string (tag name is empty for the <%@ %> tag),
47         use the default directive.
48
49 2008-02-28  Marek Habersack  <mhabersack@novell.com>
50
51         * TemplateControlParser.cs: when registering a control, check for
52         the .ascx extension case-insensitively. Fixes bug #364995
53
54 2008-02-28 Igor Zelmanovich <igorz@mainsoft.com>
55
56         * Control.cs:
57         fixed exception propagation in case of multiple control with same id
58         were found.      
59
60 2008-02-26  Marek Habersack  <mhabersack@novell.com>
61
62         * TemplateParser.cs: a better error message.
63
64         * ControlBuilder.cs: if one of the parent builders is a
65         TemplateBuilder, use it as the naming container and use its
66         ContainerType property as the value of the BindingContainerType
67         property.
68
69 2008-02-25  Marek Habersack  <mhabersack@novell.com>
70
71         * ControlBuilder.cs: correctly chain up to the parent builder when
72         looking for the naming container.
73
74 2008-02-21  Marek Habersack  <mhabersack@novell.com>
75
76         * ControlBuilder.cs: introduced a new internal property -
77         MyNamingContainer used by the public properties
78         NamingContainerType and BindingContainerType. This simplifies the
79         code in the latter property, as the binding container type must
80         almost always be the same as the naming container type. The only
81         exception is when we're inside a content builder, in which case we
82         return the parent's BindingContainerType. Fixes bug #363665
83
84 2008-02-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
85
86         * Page.jvm.cs: StateSerializer.readExternal and writeExternal fixed
87         to support viewstate encryption
88
89 2008-02-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
90
91         * ObjectStateFormatter.cs: revert of 91820
92
93 2008-02-08  Marek Habersack  <mhabersack@novell.com>
94
95         * SimpleWebHandlerParser.cs: always return a non-null value from
96         the Program property.
97
98         * TemplateParser.cs: make sure that the Src attribute is treated
99         correctly in the 2.0 profile. Fixes bug #319016
100
101 2008-02-07  Vladimir Krasnov  <vladimirk@mainsoft.com>
102
103         * Page.jvm.cs: added StateSerializer class, fixed processSaveState,
104         processRestoreState
105
106 2008-02-07  Marek Habersack  <mhabersack@novell.com>
107
108         * PageHandlerFactory.cs: call PageParser.GetCompiledPageInstance
109         only - that method calls the appropriate APIs for 1.1 and 2.0
110         profiles.
111
112 2008-02-06  Vladimir Krasnov  <vladimirk@mainsoft.com>
113
114         * Control.cs: fixed ResolveClientUrlInternal for portal url prefixes
115
116 2008-02-04  Marek Habersack  <mhabersack@novell.com>
117
118         * SimpleWebHandlerParser.cs: use WebEncoding.FileEncoding when
119         reading the source file.
120
121 2008-01-30 Igor Zelmanovich <igorz@mainsoft.com>
122
123         * ObjectStateFormatter.cs: 
124         ensure ReaderContext.GetCache called with positive arg to prevent from
125         ArgumentOutOfRange being thrown.
126
127 2008-01-29 Igor Zelmanovich <igorz@mainsoft.com>
128
129         * ObjectStateFormatter.cs: has public constructor.
130
131 2008-01-29  Vladimir Krasnov  <vladimirk@mainsoft.com>
132
133         * Page.cs: performance optimization of DeterminePostBackMode
134
135 2008-01-24  Marek Habersack  <mhabersack@novell.com>
136
137         * PageThemeFileParser.cs: the DefaultBaseType property removed.
138
139         * ApplicationFileParser.cs: added constructor which takes a
140         TextReader.
141         Removed the DefaultBaseType property.
142         Added the Reader property.
143
144         * MasterPage.cs: use BuildManager to create page instance.
145
146         * WebHandlerParser.cs: added a compatibility constructor.
147
148         * TemplateControl.cs: GetTypeFromControlPath uses
149         BuildManager.GetCompiledType for the 2.0+ profile.
150
151         * WebServiceParser.cs: added a compatibility internal
152         constructor.
153
154         * SimpleWebHandlerParser.cs: properly treat context and
155         physicalPath parameters to the constructor, especially for the
156         2.0+ profile where they are obsolete.
157         Dependencies are added using virtual paths.
158
159         * PageThemeParser.cs: DefaultBaseType property removed.
160
161         * Page.cs: Style sheets and themes are compiled using
162         BuildManager.
163         Previous page instance is compiled using BuildManager for the 2.0+
164         profile.
165
166         * MasterPageParser.cs: Use BuildManager to create instance and
167         compile types.
168         Dependencies are added using virtual paths.
169
170         * SimpleHandlerFactory.cs: Use
171         BuildManager.CreateInstanceFromVirtualPath for the 2.0+ profile.
172
173         * UserControlParser.cs: if the parser is created using a
174         TextReader, take the input file path from the virtual path.
175         Added a new internal constructor which takes both a TextReader and
176         an inputFile parameters.
177         Set base type to the default in the constructors.
178         Use virtual path when setting master page dependency.
179         DefaultBaseTypename doesn't use a literal string in the 2.0+
180         profile, it gets the base type from the application
181         configuration.
182
183         * TemplateControlParser.cs: Dependency on a control/page mentioned
184         in the Reference directive is registered using the virtual path.
185         TextReader property is an override now.
186
187         * TemplateParser.cs: RegisterCustomControl adds a dependency on
188         the virtual path, not the physical path. The custom control is
189         compiled using BuildManager.GetCompiledType for the 2.0+ profile.
190         RegisterNamespace does not add a dependency on the assembly.
191         LoadType does not add a dependency on the assembly.
192         Legacy Src attribute is handled properly now.
193         Dependency on code-behind (Src and CodeFile directive attributes)
194         is added using the code-behind file's virtual path.
195         GetAssemblyFromSource adds a dependency using the virtual path.
196         DefaultBaseType implemented here, using DefaultBaseTypeName which
197         is implemented in the descendant classes.
198         Added internal CodeBehindSource property, used by build
199         providers.
200         ClassName property works correctly if inputFile is missing
201         (e.g. when the parser has been created using a TextReader)
202         Added a virtual internal property TextReader to return the readed
203         which has been used to create the parser instance.
204
205         * PageHandlerFactory.cs: GetHandler uses
206         BuildManager.CreateInstanceFromVirtualPath for the 2.0+ profile.
207
208         * PageParser.cs: set the default base type in the constructors.
209         If the input file is not passed to a constructor, take the input
210         file path from the virtual path.
211         GetCompiledPageInstance uses BuildManager.CreateInstanceFromVirtualPath
212         for the 2.0+ profile.
213         MasterPage dependency is set using the virtual path of the master
214         page.
215         MasterPage is compiled into a type using BuildManager.GetCompiledType.
216         GetCompiledPageType uses BuildManager.GetCompiledType for the 2.0
217         profile.
218         DefaultBaseType override removed, it is implemented in the
219         TemplateParser class.
220         DefaultBaseTypename doesn't use a literal string in the 2.0+
221         profile, it gets the base type from the application
222         configuration.
223         
224 2008-01-17 Igor Zelmanovich <igorz@mainsoft.com>
225
226         * Control.cs: fix ResolveUrl for some cases.
227
228 2008-01-17 Igor Zelmanovich <igorz@mainsoft.com>
229
230         * Control.cs: consider changes in BaseCompiler.cs.
231
232 2008-01-14 Igor Zelmanovich <igorz@mainsoft.com>
233
234         * Control.cs: fixed ResolveClientUrl.
235         use Context.FilePath instead of Context.CurrentExecutionPath for 
236         resolvint app. releative path.  
237
238 2008-13-01  Vladimir Krasnov  <vladimirk@mainsoft.com>
239
240         * Page.jvm.cs: optimized SetupResponseWriter, fixed getChildCount and
241         getChildren methods
242         * Control.jvm.cs: fixed getChildCount method
243
244 2008-01-09 Igor Zelmanovich <igorz@mainsoft.com>
245
246         * Page.cs:
247         * ClientScriptManager.cs:
248         refactoring.            
249
250 2008-01-07 Igor Zelmanovich <igorz@mainsoft.com>
251
252         * Page.cs: added internal API
253         * IScriptManager.cs: added new internal interface.      
254
255 2008-01-07 Igor Zelmanovich <igorz@mainsoft.com>
256
257         * ClientScriptManager.cs:
258         * Control.jvm.cs:                       
259         * Page.cs:
260         * Page.jvm.cs:
261         for TARGET_J2EE ensure page life cycle is completed in CrossPagePostBack.
262         
263 2008-01-07  Marek Habersack  <mhabersack@novell.com>
264
265         * TemplateParser.cs: handle legacy 'src' attribute in the 2.0
266         profile in the correct way. Fixes bug #319016
267         BaseType is global by default.
268
269 2008-01-02  Marek Habersack  <mhabersack@novell.com>
270
271         * TemplateParser.cs: added a wrapper class for server-side script
272         snippets, to keep track of locations.
273         Store main directive location for later use in DirectiveLocation
274         internal property.
275
276 2008-01-01 Igor Zelmanovich <igorz@mainsoft.com>
277
278         * Page.cs:
279         make SubmitDisabledControls and SetFocus works in multiform environment         
280
281 2007-12-31  Vladimir Krasnov  <vladimirk@mainsoft.com>
282
283         * Page.cs: fixed thread abort handling in ProcessRequest
284
285 2007-12-27  Marek Habersack  <mhabersack@novell.com>
286
287         * TemplateParser.cs: check for base type globality also when the
288         default type is used.
289
290 2007-12-26 Igor Zelmanovich <igorz@mainsoft.com>
291
292         * Control.cs:
293         * Page.cs:
294         make Trace considers control state info.                
295
296 2007-12-20 Igor Zelmanovich <igorz@mainsoft.com>
297
298         * Page.cs:      refactoring:
299         split method such InternalProcessRequest to several methods.
300         It is required for implementing alternative hosting under TARGET_J2EE.
301
302 2007-12-20  Marek Habersack  <mhabersack@novell.com>
303
304         * ClientScriptManager.cs: write hidden fields inside a div only in
305         the 2.0 profile. Fixes bug #349991
306
307 2007-12-20 Igor Zelmanovich <igorz@mainsoft.com>
308
309         * Page.cs:
310         * Control.cs:
311         * ClientScriptManager.cs:               
312         refactoring: removed Page.LifeCycle internal API, 
313         used Control's stateMask flag instead. 
314
315 2007-12-17  Marek Habersack  <mhabersack@novell.com>
316
317         * TemplateParser.cs: support the 'Src' directive attribute on 2.0
318         profile as well as on the 1.1 one. Fixes bug #319016
319
320 2007-12-16 Igor Zelmanovich <igorz@mainsoft.com>
321
322         * Page.cs: on CrossPagePostBack previous page is processed by Execute API,
323         that allow CurrentHandler property works correctly during Page processing.
324
325 2007-12-15  Marek Habersack  <mhabersack@novell.com>
326
327         * SimpleWebHandlerParser.cs: Default value for Debug is taken from
328         the compilation config section.
329
330         * TemplateParser.cs: Added LoadConfigDefaults here, loads default
331         value for Debug from the compilation section.
332         Cache CompilationConfig in methods where it is accessed more than
333         once.
334         Default value for Debug in ProcessMainAttributes is taken from the
335         compilation config.
336
337         * PageParser.cs, TemplateControlParser.cs: LoadPagesConfigDefaults
338         renamed to LoadConfigDefaults.
339
340 2007-12-13  Marek Habersack  <mhabersack@novell.com>
341
342         * ClientScriptManager.cs, MasterPageParser.cs, Control.cs,
343         Page.cs: speed optimization - use String.Concat instead of
344         String.Format in some cases.
345
346 2007-12-13 Igor Zelmanovich <igorz@mainsoft.com>
347
348         * Page.cs:
349         - When Transfer/Execute is called with preserveForm=true, transferred 
350         page is not processed as PostBack but form collection is preserved.
351         - When Execute is called more than once, PreviousPage property is set 
352         correct.
353
354 2007-11-22  Marek Habersack  <mhabersack@novell.com>
355
356         * OutputCacheParameters.cs: added the VaryByContentEncoding
357         property.
358
359         * Page.cs: added new InitCache overload.
360
361         * TemplateParser.cs: added support for the VaryByContentEncodings
362         attribute of the OutputCache directive.
363
364 2007-11-19  Vladimir Krasnov  <vladimirk@mainsoft.com>
365
366         * Page.jvm.cs: IsMultiForm optimized, cached configuration call
367
368 2007-11-14  Marek Habersack  <mhabersack@novell.com>
369
370         * SimpleWebHandlerParser.cs: expect GetTypeFromBin to be called
371         with a fully qualified type name and act accordingly. Fixes bug
372         #341456.
373
374 2007-11-13 Igor Zelmanovich <igorz@mainsoft.com>
375
376         * ClientScriptManager.cs: 
377         Ensure a script resource is included once in multi form environment.
378
379 2007-11-07 Igor Zelmanovich <igorz@mainsoft.com>
380
381         * PageParser.cs: fixed initial value of tracemode.
382
383 2007-11-07 Igor Zelmanovich <igorz@mainsoft.com>
384
385         * Control.cs: removes '#define MONO_TRACE'.
386         It allows to run MONO in release mode without supplementary trace info. 
387
388 2007-11-07 Igor Zelmanovich <igorz@mainsoft.com>
389
390         * Page.cs: added missing trace information for NET_2_0
391
392 2007-11-06 Igor Zelmanovich <igorz@mainsoft.com>
393
394         * Page.cs:
395         * Page.jvm.cs:
396         affects TARGET_J2EE only:
397         validators state (isValid) is restored on GetBack.      
398
399 2007-11-06  Marek Habersack  <mhabersack@novell.com>
400
401         * Page.cs: formatting
402
403 2007-11-05  Marek Habersack  <mhabersack@novell.com>
404
405         * ClientScriptManager.cs: EventStateFieldName is a constant now.
406
407         * Page.cs: use full control ids when processing post data. Fixes
408         bug #317615
409
410 2007-11-03  Marek Habersack  <mhabersack@novell.com>
411
412         * Control.cs: need to append a "/" to TemplateSourceDirectory
413         before calling VirtualPathUtility.Combine, in order to get the
414         correct physical path to the requested file. Combine looks for the
415         last occurrence of "/" to determine where the relative paths
416         should be joined.
417
418         * MinimizableAttributeTypeConverter.cs: don't throw on null value,
419         call the base class method in that case.
420
421         * SimpleWebHandlerParser.cs: don't NRE on a null assembly passed
422         to AddAssembly.
423         AddAssemblyByName must check the return value of
424         Assembly.LoadWithPartialName, as the method doesn't throw on
425         missing assembly, it returns null instead.
426
427         * ClientScriptManager.cs: eventValidationArray is serialized in an
428         optimized fashion, so that its serialized form occupies only as
429         many slots as were actually used. It may result in that an array
430         of 0 entries will be serialized and then
431         restored. EnsureEventValidationArray takes that into consideration
432         now.
433
434 2007-11-01  Marek Habersack  <mhabersack@novell.com>
435
436         * Page.cs, ObjectStateFormatter.cs: use the new
437         MachineKeySectionUtils class wherever necessary.
438
439 2007-10-29  Marek Habersack  <mhabersack@novell.com>
440
441         * TemplateParser.cs: add the file pointed to by the Src or
442         CodeFile attributes to the list of page cache dependencies.
443
444         * PageParser.cs, UserControlParser.cs: Add the MasterPage file to
445         the list of page cache dependencies.
446
447         * MasterPageParser.cs: add the source pointed to by VirtualPath to
448         the list of cache dependencies.
449
450 2007-10-23  Marek Habersack  <mhabersack@novell.com>
451
452         * ClientScriptManager.cs: added two constants to define start/end
453         script block comments rendering. 1.1 uses HTML comments, while 2.0
454         uses a CDATA block.
455
456         * Page.cs: render script blocks with start/end comments taken from
457         the ClientScriptManager constants above.
458
459 2007-10-17  Marek Habersack  <mhabersack@novell.com>
460
461         * TemplateParser.cs: removed code that ignored the Async and
462         AsyncTimeout attributes.
463
464         * PageParser.cs: handle the Async and AsyncTimeout attributes
465         here. Fixes bug #325450
466
467         * Control.cs: properly configure control visibility in
468         PreRenderRecursiveInternal. The check must be made by looking at
469         the Visible value, not at the flags directly. Fixes bug #325303
470
471 2007-10-03  Marek Habersack  <mhabersack@novell.com>
472
473         * Page.cs: complete implementation of ValidationGroups. Fixes bug
474         #330423. Patch from Juraj Skripsky <juraj@hotfeet.ch>, thanks!
475
476 2007-10-02  Marek Habersack  <mhabersack@novell.com>
477
478         * SimpleWebHandlerParser.cs: fix the way types are loaded from
479         top-level assemblies.
480
481 2007-10-01  Marek Habersack  <mhabersack@novell.com>
482
483         * Page.cs: do not set IsPostBack to true if we're in transfer from
484         another page. Fixes bug #329341
485
486 2007-09-18  Marek Habersack  <mhabersack@novell.com>
487
488         * TemplateParser.cs: VaryByControl OutputCache attribute is
489         allowed for both controls and pages in 2.0.
490
491 2007-09-11  Marek Habersack  <mhabersack@novell.com>
492
493         * WebServiceParser.cs: inputFile is a virtual path to the service,
494         not a physical one in GetCompiledType.
495
496 2007-09-05  Marek Habersack  <mhabersack@novell.com>
497
498         * RootBuilder.cs: make Foundry settable, but protect the backing
499         field from being set to null.
500
501 2007-09-04  Marek Habersack  <mhabersack@novell.com>
502
503         * TemplateParser.cs: don't optimize for case when 'name' is a full
504         assembly name in AddAssemblyByName. Assembly.Load triggers the
505         AssemblyResolve event on the current AppDomain if an assembly
506         isn't found and we use this mechanism to map names like "App_Code"
507         or "App_GlobalResources" to the real names of those dynamic
508         assemblies.
509
510 2007-09-02 Igor Zelmanovich <igorz@mainsoft.com>
511
512         * Page.jvm.cs: implemented IsMultiForm property to take 
513         the value from configuration.
514
515 2007-08-30 Igor Zelmanovich <igorz@mainsoft.com>
516
517         * Page.cs: fixed MaintainScrollPositionOnPostBack feature.
518
519 2007-08-29  Marek Habersack  <mhabersack@novell.com>
520
521         * TemplateBuilder.cs: check for and store for later use the
522         TemplateContainerAttribute. Added a nullable property
523         TemplateInstance to return the value of the attribute.
524
525 2007-08-29  Vladimir Krasnov  <vladimirk@mainsoft.com>
526
527         * Control.cs: optimized performance in InitControlsCache()
528
529 2007-08-28  Marek Habersack  <mhabersack@novell.com>
530
531         * Page.cs: The following property values are returned from cached
532         fields instead of looking them up on Context: Application,
533         Response, Request, Cache (as determined by the tests).
534         Added a backing field for the Session property.
535         Session doesn't throw an exception when Context is null - it
536         silently ignores it and throws a session not available exception.
537         _context is never used directly, the Context property is used
538         instead. Fixes bug #82606
539
540 2007-08-23  Juraj Skripsky <js@hotfeet.ch>
541
542         * Control.cs (InitControlsCache): Make the hash table case insensitive to
543         make FindControl compatible with MS.net again. Add LAMESPEC note. 
544
545 2007-08-23  Marek Habersack  <mhabersack@novell.com>
546
547         * SimpleWebHandlerParser.cs: use
548         HttpApplication.BinDirectoryAssemblies in AddAssembliesInBin and
549         LoadAssemblyFromBin.
550         Restore the old logic in GetTypeFromBin, also use
551         HttpApplication.BinDirectoryAssemblies there.
552
553         * TemplateParser.cs: use HttpApplication.BinDirectories to
554         interate over the list of bin dirs.
555         Use HttpApplication.BinDirectoryAssemblies in AddAssembliesInBin.
556
557 2007-08-23 Igor Zelmanovich <igorz@mainsoft.com>
558
559         * ClientScriptManager.cs: encode values of hidden fields. 
560
561 2007-08-21  Marek Habersack  <mhabersack@novell.com>
562
563         * SimpleWebHandlerParser.cs: use HttpApplication.PrivateBinPath
564         enumerator when loading or adding assemblies from binary
565         directories. Remove unused PrivateBinPath property.
566
567         * ControlBuilder.cs: remove unused PrivateBinPath property.
568
569         * TemplateParser.cs: use HttpApplication.PrivateBinPath when
570         adding assemblis and loading types.
571
572 2007-08-21 Igor Zelmanovich <igorz@mainsoft.com>
573
574         * ClientScriptManager.cs: fixed onsubmit script for MultiForm environment 
575
576 2007-08-20  Marek Habersack  <mhabersack@novell.com>
577
578         * MasterPage.cs: use the place holder IDs collection instead of
579         the placholder collection to see if we have the place holder in
580         the master page. Fixes bug #82485.
581
582         * MasterPageParser.cs: store the content place holder ids in the
583         internal cache to gain access to them when needed.
584
585 2007-08-19  Vladimir Krasnov  <vladimirk@mainsoft.com>
586
587         * MasterPageParser.jvm.cs: optimized GetDirectory call
588         * PageTheme.cs: optimized string formatting in CreateSkinKey
589
590 2007-08-19  Vladimir Krasnov  <vladimirk@mainsoft.com>
591
592         * Page.cs: ResetEventValidationState call moved back to
593         InternalProcessRequest
594
595 2007-08-19  Marek Habersack  <mhabersack@novell.com>
596
597         * Page.cs: make sure not to ever pass a null value as the value
598         of the postCollection parameter to control's LoadPostData. The
599         ProcessPostData's 'data' parameter is no longer passed to
600         LoadPostData, instead we pass _requestValueCollection or an empty
601         collection if it is null. The controls should always get all the
602         request data, no matter if the 'data' parameter is null or
603         not. Possible fix for bug #82477.
604
605 2007-08-18  Gert Driesen  <drieseng@users.sourceforge.net>
606
607         * MasterPage.cs: Include relative URL of MasterPage in exception
608         message.
609
610 2007-08-18  Marek Habersack  <mhabersack@novell.com>
611
612         * MasterPage.cs: if a ContentPlaceHolder ID is not found in the
613         associated MasterPage, throw an exception. This is compatible with
614         what MS.NET does. Fixes bug #82447.
615
616 2007-08-15 Igor Zelmanovich <igorz@mainsoft.com>
617
618         * Page.cs: fixed: 
619         - avoid NullRefferenceException from Title property
620         when Page does not have <head runat="server>,
621         - scriptManager.ResetEventValidationState () is called from Render.
622         It allows multiply calling of RenderControl returns the same output.
623
624 2007-08-14  Vladimir Krasnov  <vladimirk@mainsoft.com>
625
626         * Control.cs: optimized GetDirectory call in ResolveClientUrl
627
628 2007-08-14  Vladimir Krasnov  <vladimirk@mainsoft.com>
629
630         * ClientScriptManager.cs: otimized string.Replace in GetScriptLiteral
631
632 2007-08-14  Marek Habersack  <mhabersack@novell.com>
633
634         * Control.cs: include the actual exception when reporting control
635         id clash.
636
637 2007-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
638
639         * PageParser.cs: Replace enableSessionState and readOnlySessionState
640         bools with enum backed field. Move 1.0 profile code for checking value
641         of EnableSessionState pages config to PagesConfigurationHandler.
642         Fixes bug #82392 for 1.0 profile.
643
644 2007-08-09  Marek Habersack <mhabersack@novell.com>
645
646         * PageParser.cs: honor web.config enableSessionState
647         ReadOnly setting instead of overwriting based on default value for 
648         page directive EnableSessionState. Patch from Joel Reed
649         <joelwreed@comcast.com>, thanks! Fixes bug #82392
650
651 2007-08-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
652
653         * CssStyleCollection.cs: used ListDictionary instead of
654         HybridDictionary as underlaying data structure
655
656 2007-08-07  Vladimir Krasnov  <vladimirk@mainsoft.com>
657
658         * Control.cs: refactoring of LookForControlByName with caching
659
660 2007-08-06 Igor Zelmanovich <igorz@mainsoft.com>
661
662         * DataSourceView.cs: fixed: 
663         view raises onchange event when datasource is chenged.                  
664
665 2007-08-06 Igor Zelmanovich <igorz@mainsoft.com>
666
667         * Control.cs: fixed: control ID management.                     
668
669 2007-08-06 Igor Zelmanovich <igorz@mainsoft.com>
670
671         * Control.cs: refactoring: code formatting only.                
672
673 2007-08-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
674
675         * HtmlTextWriter.cs: performance refactoring, optimized AddAttribute
676         overloads, used StringComparer for tag, styles and attrs hashtables
677         fixed AddAttribute, id attr should not be encoded by default
678
679 2007-07-31  Vladimir Krasnov  <vladimirk@mainsoft.com>
680
681         * Control.cs: fixed AppRelativeTemplateSourceDirectory that should
682         depend on AppRelativeVirtualPath
683         * Control.jvm.cs: fixed TemplateSourceDirectory that should depend on
684         AppRelativeTemplateSourceDirectory
685
686 2007-07-30  Vladimir Krasnov  <vladimirk@mainsoft.com>
687
688         * Page.jvm.cs: fixed RenderResponse property, should not fail in no
689         Contex available
690
691 2007-07-29 Igor Zelmanovich <igorz@mainsoft.com>
692
693         * Page.cs: added TARGET_J2EE variable at client side.
694
695 2007-07-24 Igor Zelmanovich <igorz@mainsoft.com>
696
697         * ClientScriptManager.cs:
698         * Page.cs:
699         * Page.jvm.cs:
700         added new internal property IsMultiForm which returns false under
701         !TARGET_J2EE (Portal). All client scripts are rendered 
702         according this property.        
703                 
704 2007-07-24 Igor Zelmanovich <igorz@mainsoft.com>
705
706         * ClientScriptManager.cs: fixed: GetCallbackEventReference method.
707                 
708 2007-07-23 Igor Zelmanovich <igorz@mainsoft.com>
709
710         * Page.cs: refactoring: __doPostBack client script
711         It is a part of adapting System.Web to work whith 
712         System.Web.Extensions (AJAX).
713
714 2007-07-23 Konstantin Triger <kostat@mainsoft.com>
715
716         * Control.cs: calculate AppRelativeTemplateSourceDirectory from HttpContext
717                 when control is not in control collection.
718
719 2007-07-22 Konstantin Triger <kostat@mainsoft.com>
720
721         * Control.cs,
722                 TemplateControl.cs: base AppRelativeTemplateSourceDirectory property
723                 on TemplateControl; implement special behavior of Control.TemplateControl for
724                 TemplateControl instances.
725
726 2007-07-18  Marek Habersack  <mhabersack@novell.com>
727
728         * ControlBuilder.cs: on the 2.0 profile BindingContainerType
729         returns the associated control's base type when parent builder is
730         absent instead of typeof (Control). It returns typeof (Control) if
731         the parent builder type is determined to be a
732         NamingContainer. This makes the generated code match the MS.NET
733         output. Fixes bug #82119.
734
735 2007-07-18 Igor Zelmanovich <igorz@mainsoft.com>
736
737         * Page.cs:
738         * ClientScriptManager.cs:
739         scripts, registered using RegisterClientScriptInclude, 
740         RegisterClientScriptResource and RegisterClientScriptBlock appear on Page
741         in order matches the order in which the scripts were registered.
742
743 2007-07-16 Igor Zelmanovich <igorz@mainsoft.com>
744
745         * Control.cs: fixed EnsureID.
746         ID is not assigned, if already was set.
747
748 2007-07-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
749
750         * ClientScriptManager.cs: refactored event validation data structure
751         * Page.cs: fixed InternalProcessRequest, event validation list should
752         be cleared before render
753
754 2007-06-24  Vladimir Krasnov  <vladimirk@mainsoft.com>
755
756         * ObjectStateFormatter.cs: optimized loops in array formatters
757
758 2007-07-03  Marek Habersack  <mhabersack@novell.com>
759
760         * SimpleWebHandlerParser.cs: improve directive
761         pre-parsing. Directives can span multiple lines, they don't have
762         to start at the beginning of the line and any content can follow
763         them after the directive end. Also, do not trim the input since
764         that might affect program content. Fixes bug #81993.
765
766 2007-07-02  Marek Habersack  <mhabersack@novell.com>
767
768         * Control.cs: make sure TemplateSourceDirectory returns meaningful
769         results in the 1.1 profile. Fixes bug #81950.
770
771 2007-06-24  Vladimir Krasnov  <vladimirk@mainsoft.com>
772
773         * ObjectStateFormatter.cs: WriterContext.RegisterCache, refactored out
774         parameter
775
776 2007-06-20  Marek Habersack  <mhabersack@novell.com>
777
778         * BasePartialCachingControl.cs: use HttpRuntime.InternalCache to
779         keep the private entries.
780
781 2007-06-18 Igor Zelmanovich <igorz@mainsoft.com>
782
783         * Control.cs: revised the changes from r79982.  
784
785 2007-06-18 Igor Zelmanovich <igorz@mainsoft.com>
786
787         * Control.cs: optimized flow in ResolveClientUrl.       
788
789 2007-06-15  Gert Driesen  <drieseng@users.sourceforge.net>
790
791         * ObjectStateFormatter.cs: Avoid NRE in Serialize. Fixes bug #81851.
792
793 2007-06-09  Marek Habersack  <mhabersack@novell.com>
794
795         * TemplateControl.cs: make sure TemplateControl is set to the
796         current control.
797
798         * Control.cs: TemplateControl property goes up the parent chain if
799         the property isn't defined in the current control.
800         TemplateSourceDir finally implemented correctly.
801
802 2007-06-06  Marek Habersack  <mhabersack@novell.com>
803
804         * Control.cs: more changes to the way TemplateSourceDirectory
805         works in the 2.0 profile. Take into account situations when a
806         control is placed in a UserControl (.ascx) and only then fall back
807         to the parent for its TemplateSourceDirectory.
808
809 2007-06-05  Marek Habersack  <mhabersack@novell.com>
810
811         * Control.cs: TemplateSourceDirectory uses TemplateControl to
812         lookup the virtual source directory in the 2.0 instead of the
813         Parent.
814         ResolveClientUrl copes with empty TemplateSourceDirectory in the
815         correct way now - the check is made after the basePath checks.
816         The changes above make ResolveClientUrl work properly when called
817         from within a control residing in a TemplateControl.
818
819 2007-05-30  Vladimir Krasnov  <vladimirk@mainsoft.com>
820
821         * HtmlTextWriter.cs: EncodeAttributeValue should call 
822         HtmlAttributeEncode as documented
823
824 2007-05-24  Marek Habersack  <mhabersack@novell.com>
825
826         * PageParser.cs: added support for the PreviousPageType
827         directive.
828
829 2007-05-23  Marek Habersack  <mhabersack@novell.com>
830
831         * TemplateParser.cs: use VirtualPathUtility.Combine to properly
832         create the custom control's virtual path.
833
834 2007-05-22  Marek Habersack  <mhabersack@novell.com>
835
836         * TemplateBuilder.cs: in the absence of containerAttribute,
837         default to two-way binding direction.
838
839 2007-05-21 Igor Zelmanovich <igorz@mainsoft.com>
840
841         * DataSourceView.cs: refactoring: Update, Insert methods:
842         exception is re-thrown from catch scope. 
843         It allows actual call stack be shown    
844
845 2007-05-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
846
847         * TemplateControl.jvm.cs: refactored key for CachedString method
848
849 2007-05-16  Vladimir Krasnov  <vladimirk@mainsoft.com>
850
851         * HtmlTextWriter.cs: refactoring, created hashtables for tags, styles
852         and attributes arrays, that gives performance improvement in GetTagKey
853         GetStyleKey and GetAttributeKey methods
854
855 2007-05-15  Marek Habersack  <mhabersack@novell.com>
856
857         * TemplateControl.cs: implemented the 3-parameter overloads of
858         GetLocalResourceObject and GetGlobalResourceObject.
859
860         * TemplateParser.cs: refactoring - use HttpApplication.LoadType to
861         actually look up types.
862         
863         * ControlBuilder.cs: as above   
864
865 2007-05-14  Marek Habersack  <mhabersack@novell.com>
866
867         * ClientScriptManager.cs: put the hidden field within a <div>, the
868         way MS.NET does it.
869
870 2007-05-11  Gert Driesen  <drieseng@users.sourceforge.net>
871
872         * ControlBuilder.cs: Fixed exception message in MapType.
873
874 2007-05-10  Marek Habersack  <mhabersack@novell.com>
875
876         * Control.cs: small formatting change
877
878 2007-05-10 Igor Zelmanovich <igorz@mainsoft.com>
879
880         * Page.cs: ExecuteRegisteredAsyncTasks:
881         implimentation for TARGET_JVM doesn't use WaitHandle.WaitAll, but WaitOne
882
883 2007-05-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
884
885         * HtmlTextWriter.cs: used classes instead of sctrucs in TARGET_JVM for
886         AddedTag, AddedStyle and AddedAttr members
887         * TemplateControl.jvm.cs: refactored CachedString method
888
889 2007-05-09  Marek Habersack  <mhabersack@novell.com>
890
891         * CollectionBuilder.cs: formatting changes
892
893         * ControlBuilder.cs: if a control enables children as properties,
894         has a default property and parser encounters a child tag/container
895         with the default property name, discard the default property
896         builder in order to avoid invalid sub builder invocation. An
897         example is: <asp:DropDownList><Items></Items></asp:DropDownList>
898         Formatting changes.
899         When checking for empty string, use Length not comparison with ""
900         
901 2007-05-08  Marek Habersack  <mhabersack@novell.com>
902
903         * CssStyleCollection.cs: put the style in the bag each time a key
904         is set, otherwise resetting of a key has no effect on rendered
905         style.
906
907 2007-05-07  Marek Habersack  <mhabersack@novell.com>
908
909         * TemplateParser.cs: added support for implicit language
910         detection. If the language isn't set explicitly in the Page
911         directive, the language value taken from the configuration
912         considered to be implicit - that is, it can be overwritten by the
913         first <script> with the runat="server" and language="xx" sets the
914         language for the parser. This makes it possible to have the
915         default language set to "C#" and the inline code in, e.g.,
916         VisualBasic. 
917
918         * ControlBuilder.cs: when mapping types, catch casses of missing
919         original and mapped types.
920         If mapped type doesn't derive from the original type, throw an
921         exception. Fixes bug #81553.
922
923 2007-05-04  Marek Habersack  <mhabersack@novell.com>
924
925         * Control.cs: added an internal method to resolve a physical path
926         to a file from its virtual path considering the possibility that a
927         control is placed in a master page, which in turn is referenced
928         from a directory another than that of master page itself.
929
930 2007-05-03 Igor Zelmanovich <igorz@mainsoft.com>
931
932         * AttributeCollection.cs:
933         * DataBindingHandlerAttribute.cs:
934         * HtmlTextWriter.cs:
935         * PartialCachingControl.cs:
936         * TemplateControl.cs:
937         * TemplateControl.jvm.cs:
938         * XPathBinder.cs:                                               
939         added missing API.      
940
941 2007-05-03 Igor Zelmanovich <igorz@mainsoft.com>
942
943         * CssStyleCollection.cs: optimization:
944         used StringBuilder instead string to hold value.
945         When added key that not exists in collection, value is recalculated by 
946         appending required key to existing value.       
947
948 2007-05-02 Igor Zelmanovich <igorz@mainsoft.com>
949
950         * Control.cs: ResolveClientUrl: optimization.
951         if basePath is the same as TemplateSourceDirectory 
952         releativeUrl is returned as is.
953
954 2007-05-02 Igor Zelmanovich <igorz@mainsoft.com>
955
956         * Control.cs:
957         ResolveClientUrl considers TemplateSourceDirectory property.
958
959 2007-05-01  Marek Habersack  <mhabersack@novell.com>
960
961         * PageParser.cs: clientTarget comparisons must be case-insensitive
962
963 2007-04-30 Konstantin Triger <kostat@mainsoft.com>
964
965         * DataBinder.cs: When formatting, threat empty string as null.
966
967 2007-04-27  Marek Habersack  <mhabersack@novell.com>
968
969         * TemplateControlParser.cs: 2.0 allows 'Namespace' without the
970         'Assembly' attribute on tag prefix registration.
971
972         * TemplateParser.cs: do not rely on assembly name being not null.
973
974 2007-04-19  Gert Driesen  <drieseng@users.sourceforge.net>
975
976         * TemplateParser.cs: On 2.0 profile, allow namespace in ClassName
977         attribute. Fixes part of bug #81399.
978
979 2007-04-11  Marek Habersack  <mhabersack@novell.com>
980
981         * Page.cs: check whether control passed to
982         RegisterRequiresPostBack implements the IPostBackDataHandler
983         interface.
984
985 2007-04-06  Marek Habersack  <mhabersack@novell.com>
986
987         * ClientScriptManager.cs: render the 'type' attribute in
988         WriteScript and do not render the 'language' attribute when in
989         NET_2_0+ mode.
990
991         * Page.cs: defaults for ViewStateEncrptionMode and AsyncTimeout
992         are read from the pages section, if found.
993
994         * TemplateControlParser.cs: added support for loading
995         pages/controls defaults from web.config even if the page/control
996         does not have its corresponding directive.
997         Added support for reading the CompilationMode attribute.
998
999         * PageParser.cs: added support for loading pages/controls defaults
1000         as above. Fixes bug #80915.
1001         Added support for reading the maxPageStateFieldLength setting.
1002         Added support for reading the pageParserFilter setting.
1003         
1004         * ControlBuilder.cs: allow tag mappings from code found 
1005         in bin/* or App_Code/*. Fixes bug #80811.
1006
1007 2007-03-29  Vladimir Krasnov  <vladimirk@mainsoft.com>
1008
1009         * TemplateControl.jvm.cs: performance improvement, added cache for
1010         methods and events in user code
1011
1012 2007-03-26  Marek Habersack  <mhabersack@novell.com>
1013
1014         * TemplateControl.cs: make local resources work with master
1015         pages - use the AppRelativeVirtualPath for resource resolution.
1016
1017         * TemplateParser.cs: support the meta:resourcekey attribute in
1018         Page and Control directives. Fixes bug #81204.
1019
1020 2007-03-21  Marek Habersack  <mhabersack@novell.com>
1021
1022         * UnknownAttributeDescriptor.cs: an internal helper class for
1023         custom directive attributes support.
1024
1025         * BaseParser.cs: ThrowParseException can now take variadic
1026         parameters, for convenience.
1027
1028         * TemplateParser.cs: add support for custom attributes for the
1029         Page and Control directives.
1030         Added support for the CodeFileBaseClass directive. Fixes bug #81132
1031
1032 2007-03-20 Igor Zelmanovich <igorz@mainsoft.com>
1033
1034         * Control.cs: fixed ResolveClientUrl method.
1035
1036 2007-03-18  Marek Habersack  <mhabersack@novell.com>
1037
1038         * BaseParser.cs: fix BaseVirtualDir to always return app-absolute
1039         paths.
1040
1041 2007-03-17  Marek Habersack  <mhabersack@novell.com>
1042
1043         * MasterPageParser.cs: remove superfluous #ifdef
1044
1045         * TemplateParser.cs: use VirtualPathUtility here
1046
1047 2007-03-14  Vladimir Krasnov  <vladimirk@mainsoft.com>
1048
1049         * TemplateControl.jvm.cs: fixed WireupAutomaticEvents, performance
1050         optimization
1051
1052 2007-03-13  Marek Habersack  <mhabersack@novell.com>
1053
1054         * TemplateParser.cs: name generated classes the same way MS.NET
1055         does - include the app-relative path to the control/page in the
1056         class name.
1057
1058 2007-03-13  Adar Wesley <adarw@mainsoft.com>
1059
1060         * Page.cs: improved Async Page implementation.
1061
1062 2007-03-13  Marek Habersack  <mhabersack@novell.com>
1063
1064         * TemplateControl.cs: implement AppRelativeVirtualPath. Closes bug
1065         #80634.
1066
1067 2007-03-12  Marek Habersack  <mhabersack@novell.com>
1068
1069         * RootBuilder.cs: change the error text to be less misleading.
1070
1071 2007-03-12 Igor Zelmanovich <igorz@mainsoft.com>
1072
1073         * AttributeCollection.cs:
1074         * CssStyleCollection.cs: fixed: works w/o state bag.    
1075
1076 2007-03-12 Igor Zelmanovich <igorz@mainsoft.com>
1077
1078         * HtmlTextWriter.cs: fixed:
1079         - Fixed writing background-image style attribute (different behavior in
1080         1.1 and 2.0).
1081         - Does not encode 'name' attribute.
1082         - Always encode style attributes (for 2.0 only).
1083
1084 2007-03-06  Adar Wesley <adarw@mainsoft.com>
1085
1086         * Page.cs: initial implementation of support for Async=true.  Added 
1087         initial support for ViewStateEncryption.  Implemented 
1088         CreateHtmlTextWriterFromType.
1089         
1090         * PageAsyncTask.cs: Created class to support Async pages.
1091
1092         * ObjectStateFormatter.cs: Added support for ViewState encryption.
1093
1094         * HtmlTextWriter.cs: Fixed constructor to accept null TextWriter
1095         to conform to MS behavior.
1096
1097 2007-03-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
1098
1099         * Control.jvm.cs: fixed TemplateSourceDirectory property
1100
1101 2007-03-03  Marek Habersack  <mhabersack@novell.com>
1102
1103         * TemplateParser.cs: support but ignore the Async and AsyncTimeOut
1104         page directive attributes.
1105         Support the LinePragmas page directive attribute.
1106
1107         * PageParser.cs: added support for the
1108         MaintainScrollPositionOnPostBack page directive attribute.
1109
1110 2007-02-26 Igor Zelmanovich <igorz@mainsoft.com>
1111
1112         * TemplateControl.cs:
1113         * TemplateControl.jvm.cs: fixed: AutoEventWireup feature: 
1114         Method 'Page_XXX' is declared in the base class must be 
1115         called even is private.
1116
1117 2007-02-26  Vladimir Krasnov  <vladimirk@mainsoft.com>
1118
1119         * Control.cs: fixed AppRelativeTemplateSourceDirectory property, should
1120         not return AppRelativeTemplateSourceDirectory of master page
1121
1122 2007-02-26 Igor Zelmanovich <igorz@mainsoft.com>
1123
1124         * ClientScriptManager.cs: fixed: GetScriptLiteral escapes back-slash:
1125
1126 2007-02-22 Igor Zelmanovich <igorz@mainsoft.com>
1127
1128         * TemplateControl.cs: added missing property AppRelativeVirtualPath
1129
1130 2007-02-21 Konstantin Triger <kostat@mainsoft.com>
1131
1132         * TemplateParser.cs: remove CodeGenerator.IsValidLanguageIndependentIdentifier
1133                 check from Global.asax inherits attribute to let inherits="A.B" construct.
1134
1135 2007-02-20 Igor Zelmanovich <igorz@mainsoft.com>
1136
1137         * ObjectStateFormatter.cs:
1138         optimization for serialization of primitive type arrays 
1139
1140 2007-02-19 Igor Zelmanovich <igorz@mainsoft.com>
1141
1142         * ClientScriptManager.cs:
1143         * Control.cs:                    
1144         * Page.cs:
1145         implemented PostBackOptions.TrackFocus feature. 
1146
1147 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
1148
1149         * Page.cs: for 2.0: refactoring:
1150         prepare infrastructure for Form.SubmitDisabledControls feature   
1151
1152 2007-02-18  Eyal Alaluf <eyala@mainsoft.com>
1153
1154         * Control.jvm.cs, Control.cs: Move TemplateSourceDirectory to .jvm file.
1155         * Control.jvm.cs, Page.jvm.cs: Centralize Portlet specific API in Page.jvm
1156         * Page.cs, Page.jvm.cs, ClientScriptManager.cs: Support for Http callbacks
1157           for J2EE portlets.
1158
1159 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
1160
1161         * Page.cs: for 2.0: 
1162         '__EVENTTARGET' and '__EVENTARGUMENT' hidden fields are 
1163         registered only once.   
1164
1165 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
1166
1167         * Page.cs: for 2.0: '__doPostBack' declared as function of form.
1168         convention to use 'currForm' instead 'myForm'   
1169
1170 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
1171
1172         * Page.cs:
1173         * ClientScriptManager.cs:
1174         including 'webform.js' requires '__doPostBack' on the form be rendered.  
1175
1176 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
1177
1178         * Page.cs:
1179         * ClientScriptManager.cs:
1180         refactoring: 'theForm' variable is always declared on client. 
1181         '__EVENTTARGET' and '__EVENTARGUMENT' hidden fields is rendered using 
1182         RegisterHiddenField API. 'WebForm_OnSubmit' declared as function of form.       
1183
1184 2007-02-14  Vladimir Krasnov  <vladimirk@mainsoft.com>
1185
1186         * Page.cs: fixed OnInit, adding css should throw exception if no header
1187         present on the page
1188
1189 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
1190
1191         * Page.cs: __doPostBack considers 2.0 features 
1192         such RegisterOnSubmitStatement
1193
1194 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
1195
1196         * Page.cs:
1197         * ClientScriptManager.cs:
1198         implemented RegisterOnSubmitStatement for 2.0   
1199
1200 2007-02-13 Igor Zelmanovich <igorz@mainsoft.com>
1201
1202         * ClientScriptManager.cs: EventValidation feature optimization on Callback.
1203
1204 2007-02-13 Igor Zelmanovich <igorz@mainsoft.com>
1205
1206         * Page.cs: fixed exception handling on Callback at client.
1207
1208 2007-02-08  Marek Habersack  <grendello@gmail.com>
1209
1210         * Page.cs: Make sure to create specific cultures.
1211
1212 2007-02-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
1213
1214         * ClientScriptManager.cs: added array declaration also as member of
1215         form in TARGET_J2EE for j2ee portal support. 
1216         Added validators context init for GetClientValidationEvent under
1217         TARGET_J2EE for j2ee portal support.
1218         * Page.cs: fixed OnFormPostRender, render array declarations after
1219         postback script.
1220         
1221 2007-02-04 Igor Zelmanovich <igorz@mainsoft.com>
1222
1223         * Page.cs:
1224         * ClientScriptManager.cs:
1225         client scripts (webform.js, callback.js and 
1226         MaintainScrollPositionOnPostBack.js) were merged into one resource file.
1227
1228 2007-02-04 Igor Zelmanovich <igorz@mainsoft.com>
1229
1230         * Page.cs:
1231         http://msdn2.microsoft.com/en-us/library/ms178141.aspx   
1232         LAMESPEC: on Callback IsPostBack is set to false, but true.
1233
1234 2007-02-04 Igor Zelmanovich <igorz@mainsoft.com>
1235
1236         * Page.cs: 
1237         VerifyRenderingInServerForm does not fire exception when IsCallback
1238
1239 2007-02-04 Igor Zelmanovich <igorz@mainsoft.com>
1240
1241         * Page.cs:
1242         * ClientScriptManager.cs:
1243         fixed RegisterClientScriptInclude: all includes that was registered before 
1244         rendering are rendered at begin form.           
1245
1246 2007-02-02  Marek Habersack  <grendello@gmail.com>
1247
1248         * TemplateParser.cs: Do not register controls here.
1249
1250 2007-02-02  Adar Wesley <adarw@mainsoft.com>
1251
1252         * Control.cs: Changed UniqueId implementation to have '$' and not ':'
1253         to conform to MS.  This led to updating several Tests that referenced
1254         the UniqueId as string.
1255
1256 2007-01-30  Eyal Alaluf <eyala@mainsoft.com>
1257
1258         * ClientScriptManager.cs: Fix Igor's last changes for TARGET_JVM.
1259
1260 2007-01-29 Igor Zelmanovich <igorz@mainsoft.com>
1261
1262         * Page.cs:
1263         * ClientScriptManager.cs:
1264         CallBack works with EvantValidation.            
1265
1266 2007-01-25  Eyal Alaluf <eyala@mainsoft.com>
1267
1268         * Page.cs: Change code to use the 'theForm' property when generating
1269           JavaScript code. Ensure that we pass 'theForm' as param to the JS funcs.
1270         * Page.jvm.cs, Control.jvm.cs: Implement the 'theForm' property to include
1271           the portlet namespace. Moved 'PortletNamespace' from Control.jvm.cs
1272     * Page.jvm.cs, Control.jvm.cs, ClientScriptManager.cs: Added support for
1273           saving hidden fields for TARGET_J2EE Portlets re-render.
1274         * Control.cs: Under TARGET_J2EE portal support add the PortletNamespace
1275           to all the control IDs to ensure they different between portlets.
1276
1277 2007-01-24  Vladimir Krasnov  <vladimirk@mainsoft.com>
1278
1279         * Page.cs: fixed CheckForValidationSupport,
1280         SupportsEventValidationAttribute should be checked at only one level
1281
1282 2007-01-23  Vladimir Krasnov  <vladimirk@mainsoft.com>
1283
1284         * TemplateControl.jvm.cs: ParseControl not supported, added limited
1285         implementation if TestDeviceFilter
1286
1287 2007-01-22  Konstantin Triger <kostat@mainsoft.com>
1288
1289         * ClientScriptManager.cs: ensure the callback client script is
1290                 registered before the client script includes are rendered.
1291
1292 2007-01-22  Konstantin Triger <kostat@mainsoft.com>
1293
1294         * Page.cs, ClientScriptManager.cs: ensure the web form client script is
1295                 registerd before the client script includes are rendered.
1296
1297 2007-01-21  Konstantin Triger <kostat@mainsoft.com>
1298
1299         * Page.cs: move the WriteClientScriptIncludes to the top of the form,
1300                 according to the MSDN.
1301
1302 2007-01-20  Miguel de Icaza  <miguel@novell.com>
1303
1304         * XhtmlTextWriter.cs: comment out unused code. 
1305
1306         * ThemeProvider.cs: comment out unused code.
1307
1308         * DataSourceView.cs: Comment unused variable. 
1309
1310         * ClientScriptManager.cs: Put the expandoAttributes inside the 2.0
1311         code 
1312
1313         * Control.cs: Put _templateControl inside the NET_2_0 ifdef
1314
1315 2007-01-20  Marek Habersack  <grendello@gmail.com>
1316
1317         * TemplateParser.cs: Check whether the base type is in the root
1318         namespace.
1319
1320 2007-01-18  Eyal Alaluf <eyala@mainsoft.com>
1321
1322         * Control.jvm.cs: Added PortletNamespace property.
1323
1324 2007-01-16  Vladimir Krasnov  <vladimirk@mainsoft.com>
1325
1326         * TemplateControl.jvm.cs: remover TemplateSourceDirectory propery
1327         * Control.cs: moved TemplateSourceDirectory from TemplateControl for
1328         TARGET_JVM, fixed AppRelativeTemplateSourceDirectory
1329
1330 2007-01-16  Vladimir Krasnov  <vladimirk@mainsoft.com>
1331
1332         * TemplateControl.jvm.cs: added 2.0 event names for wiring up
1333
1334 2007-01-15  Ilya Kharmatsky <ilya - at - decode-systems.com>
1335         * Control.cs: 
1336                 - IsViewStateEnabled - removed check for non-null page, since 
1337                                  the control by definition should come with enabled
1338                                  view state, even if it not 'attached' to the page
1339                 - HasEvents() - implementation (still could produce bug in exotic scenarios
1340                                 when all events added to 'this' control has been removed
1341                                 through the property 'Events', but currently we can't see
1342                                 better implementation)
1343
1344 2007-01-14  Eyal Alaluf <eyala@mainsoft.com>
1345
1346         * Control.jvm.cs, Page.jvm.cs: Added TARGET_J2EE specific files.
1347         * Page.cs, ClientScriptManager.cs, Control.cs: Added J2EE portal
1348           support for TARGET_J2EE.
1349
1350 2007-01-12  Miguel de Icaza  <miguel@novell.com>
1351
1352         * Control.cs: Remove comment, it provides no information about
1353         what could be wrong.
1354
1355 2007-01-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
1356
1357         * PageTheme.cs: implemented
1358         * Page.cs: fixed InitializeTheme, added PageTheme page initialization
1359         * TemplateControl.cs, 
1360         * TemplateControl.jvm.cs: added XPath, XPathSelect overloads with
1361         IXmlNamespaceResolver parameter
1362         * XPathBinder.cs: added Eval, Select overloads with
1363         IXmlNamespaceResolver parameter, refactored
1364
1365 2007-01-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
1366
1367         * TemplateControl.jvm.cs: added GetGlobalResourceObject
1368
1369 2007-01-07 Igor Zelmanovich <igorz@mainsoft.com>
1370
1371         * Page.cs: refactoring: used RegisterHiddenField for _VIEWSTATE field.
1372
1373 2007-01-04 Igor Zelmanovich <igorz@mainsoft.com>
1374
1375         * Control.cs: ensure 'id' attribute will be rendered if 
1376         ClientID was accessed but ID is generated by the Page, 
1377         important for custom controls developing.
1378
1379 2007-01-04 Igor Zelmanovich <igorz@mainsoft.com>
1380
1381         * Page.cs: fixed: InitializeCulture should be called 
1382         before creating controls.
1383
1384 2007-01-03  Marek Habersack  <grendello@gmail.com>
1385
1386         * Page.cs: Make sure the ValidatorOnSubmit function is defined for the
1387         document before attempting to use it.
1388
1389 2007-01-01  Vladimir Krasnov  <vladimirk@mainsoft.com>
1390
1391         * Control.cs: fixed ResolveClientUrl, wrong when control that calls
1392         this method and the page are in different folders
1393
1394 2006-12-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1395
1396         * Page.cs: show the validation summary when client validation and
1397         linkbuttons are used. Patch by Juraj Skripsky.
1398
1399 2006-12-31 Igor Zelmanovich <igorz@mainsoft.com>
1400
1401         * Page.cs: fixed: EventValidation is not performed for CallBack request.
1402
1403 2006-12-27 Igor Zelmanovich <igorz@mainsoft.com>
1404
1405         * Page.cs: fixed: RegisterRequiresPostBack feature.
1406
1407 2006-12-21  Marek Habersack  <grendello@gmail.com>
1408
1409         * ControlBuilder.cs: Add support for tag mapping in 2.0
1410
1411 2006-12-20  Marek Habersack  <grendello@gmail.com>
1412
1413         * TemplateParser.cs: make sure Context.ApplicationInstance is not
1414         valid before adding application assembly.
1415
1416 2006-12-11 Igor Zelmanovich <igorz@mainsoft.com>
1417
1418         * Page.cs: fixed and optimized ProcessPostData
1419         The "second try" used for controls that created at OnLoad.
1420         fixed for controls that use RgisterRequeresPostBack to handle post data.
1421
1422 2006-11-29 Igor Zelmanovich <igorz@mainsoft.com>
1423
1424         * Page.cs: The specified theme must exist as either an application theme. 
1425         If the theme does not exist, an HttpException exception s thrown.
1426
1427 2006-12-09  Marek Habersack  <grendello@gmail.com>
1428
1429         * HiddenFieldPageStatePersister.cs: Implement the 2.0 class (used
1430         also in the 1.x profile)
1431
1432         * ObjectStateFormatter.cs: Implement the IStateFormatter interface
1433
1434         * ClientScriptManager.cs: Use IStateFormatter instead of
1435         LosFormatter.
1436         Use the IStateFormatter interface when registering the hidden
1437         field with the state.
1438
1439         * LosFormatter.cs: Use ObjectStateFormatter
1440
1441         * PageStatePersister.cs: Make the class available as internal for
1442         1.x profile.
1443         Constructor throws an exception on its page parameter being null.
1444         Implemented several properties: ControlState, ViewState, Page,
1445         StateFormatter
1446
1447         * Page.cs: Use new state persister for all the profiles.
1448         Use the new HiddenFieldPageStatePersister class.
1449
1450         * IStateFormatter.cs: Make the class available as internal for 1.x profile.
1451
1452 2006-12-04  Vladimir Krasnov  <vladimirk@mainsoft.com>
1453
1454         * TemplateControl.jvm.cs: fixed TemplateSourceDirectory initialization
1455
1456 2006-11-29  Marek Habersack  <grendello@gmail.com>
1457
1458         * TemplateParser.cs: if the OutputCache directive is present, make
1459         sure the cache does not expire the current output.
1460
1461 2006-11-29 Igor Zelmanovich <igorz@mainsoft.com>
1462
1463         * Page.cs: added missing methods and properties:
1464         AsyncMode
1465         AsyncTimeout
1466         IsAsync
1467         UniqueFilePathSuffix
1468         MaxPageStateFieldLength
1469         ViewStateEncryptionMode
1470         AddOnPreRenderCompleteAsync
1471         AddOnPreRenderCompleteAsync
1472         ExecuteRegisteredAsyncTasks
1473         CreateHtmlTextWriterFromType
1474         RegisterRequiresViewStateEncryption
1475
1476 2006-11-29 Igor Zelmanovich <igorz@mainsoft.com>
1477
1478         * Page.cs: Master property returns null when no HttpContext.
1479
1480 2006-11-29 Igor Zelmanovich <igorz@mainsoft.com>
1481
1482         * Page.cs: InitializeCulture method is called before OnPreInit.
1483
1484 2006-11-28  Marek Habersack  <grendello@gmail.com>
1485
1486         * TemplateControlParser.cs: Use the new TemplateParser methods to
1487         register controls/namespaces
1488
1489         * TemplateParser.cs: Implement support for the
1490         system.web/pages/namespaces collection instead of hard-coding the
1491         namespaces into the source.
1492         Refactoring: added two internal methods to handle both the
1493         system.web/pages/controls registration and the Register directive.
1494         Added a new internal method to pull the system.web/pages/controls
1495         collection before parsing.
1496
1497 2006-11-27  Marek Habersack  <grendello@gmail.com>
1498
1499         * SimpleWebHandlerParser.cs: Added support for looking up types in
1500         the top-level assemblies (App_Code et al)
1501
1502 2006-11-27 Igor Zelmanovich <igorz@mainsoft.com>
1503
1504         * Control.cs: implemented EnsureID method.
1505
1506 2006-11-27 Igor Zelmanovich <igorz@mainsoft.com>
1507
1508         * Control.cs: implemented Focus methods.
1509
1510 2006-11-27 Igor Zelmanovich <igorz@mainsoft.com>
1511
1512         * Page.cs: implemented SetFocus methods.
1513         * PageLifeCycle.cs:     
1514
1515 2006-11-27 Igor Zelmanovich <igorz@mainsoft.com>
1516
1517         * ClientScriptManager.cs: refactoring:
1518         extracted method RegisterWebFormClientScript    
1519
1520 2006-11-27 Igor Zelmanovich <igorz@mainsoft.com>
1521
1522         * Control.cs: implemented OpenFile()
1523
1524 2006-11-26 Igor Zelmanovich <igorz@mainsoft.com>
1525
1526         * Page.cs:
1527         * Control.cs:
1528         implemented ClearChildState(), ClearChildControlState() and 
1529         IsChildControlStateCleared      
1530
1531 2006-11-26 Igor Zelmanovich <igorz@mainsoft.com>
1532
1533         * Page.cs:
1534         * ClientScriptManager.cs:
1535         implemented RegisterExpandoAttribute feature    
1536
1537 2006-11-23 Igor Zelmanovich <igorz@mainsoft.com>
1538
1539         * ListSourceHelper.cs: optimization of implementation 
1540
1541 2006-11-23 Igor Zelmanovich <igorz@mainsoft.com>
1542
1543         * ListSourceHelper.cs: implemented 
1544
1545 2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
1546
1547         * DataSourceView.cs: fixed: constructor throws ArgumentNullException 
1548
1549 2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
1550
1551         * Page.cs: fixed: PreviousPage property
1552         when CrossPostBack is processed PreviousPage is initialized 
1553         only if PreviousPage property is called.         
1554
1555 2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
1556
1557         * DataSourceControl.cs: fixed: Focus(), EnableTheming 
1558
1559 2006-11-21  Marek Habersack  <grendello@gmail.com>
1560
1561         * Control.cs: Make ClientIDSeparator private for !NET_2_0
1562
1563 2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
1564
1565         * Page.cs: fixed: LoadControlState is called for controls 
1566         that added on Load and latter
1567
1568 2006-11-20  Marek Habersack  <grendello@gmail.com>
1569
1570         * Control.cs: Implementations of a few missing properties.
1571
1572         * Page.cs: Added support for automatic culture detection from the
1573         user's browser.
1574
1575         * PageParser.cs: Added support for "auto" cultures in the Page
1576         directive.
1577
1578 2006-11-20 Igor Zelmanovich <igorz@mainsoft.com>
1579
1580         * ClientScriptManager.cs: fixed: ValidateEvent feature:
1581         client side return eventArgument as empty string 
1582         for controls that set it as null        
1583
1584 2006-11-18  Marek Habersack  <grendello@gmail.com>
1585
1586         * ClientScriptManager.cs: Implemented two missing
1587         GetPostBackEventReference overloads. Made one of the overloads
1588         internal for .NET < 2.0.
1589
1590 2006-11-17  Marek Habersack  <grendello@gmail.com>
1591
1592         * PostBackOptions.cs: Renamed the constructors parameters to match
1593         those Microsoft .NET uses.
1594         targetControl must not be passed null to the constructor.
1595
1596         * ClientScriptManager.cs: Support for event validation.
1597         Implemented a GetPostBackHyperlink overload.
1598         Implemented the RegisterForEventValidation methods.
1599         Implemented the ValidateEvent method.
1600         Added support for saving/restoring event validation state.
1601
1602         * Page.cs: EnableEventValidation can be set only from the config
1603         files (the <pages> element), the Page directive or from
1604         Page_Init. After Page_Init returns, an exception is thrown.
1605         Made GetFormatter internal, so that ClientScriptManager can use
1606         it.
1607         Added the internal LifeCycle property which contains the current
1608         life cycle stage of the page request processing.
1609         Added calls to save/restore event validation state.
1610         Added checks for whether child controls of the page support event
1611         validation or not.
1612         Added calls to ClientScriptManager.ValidateEvent in appropriate
1613         places.
1614
1615         * PageLifeCycle.cs: Added the PageLifeCycle enum, used in event
1616         validation.
1617
1618 2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1619
1620         * LosFormatter.cs:
1621         * ObjectStateFormatter.cs: match MS 1.x and 2.0 behaviour for null and
1622         empty strings.
1623
1624 2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1625
1626         * SimpleWebHandlerParser.cs: 'using' for file reading.
1627
1628 2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1629
1630         * Page.cs: revert r67514 until after tagging for the next release. 
1631
1632 2006-11-12 Igor Zelmanovich <igorz@mainsoft.com>
1633
1634         * LiteralControl.cs: fixed: constructors & Text property
1635
1636 2006-11-09 Igor Zelmanovich <igorz@mainsoft.com>
1637
1638         * Page.cs: fixed: LoadControlState is called for controls 
1639         that added on Load and latter, for 1.x refactoring only
1640
1641 2006-11-02 Igor Zelmanovich <igorz@mainsoft.com>
1642
1643         * ClientScriptManager.cs: 
1644         fixed: checks arguments for null in public methods,
1645         fixed public interface.
1646
1647 2006-10-23 Igor Zelmanovich <igorz@mainsoft.com>
1648
1649         * PostBackOptions.cs: fixed: default values of properties 
1650
1651 2006-10-22 Igor Zelmanovich <igorz@mainsoft.com>
1652
1653         * CssStyleCollection.cs:
1654         * AttributeCollection.cs:
1655         fixed: style collection is synchronized with style attribute 
1656
1657 2006-10-19 Igor Zelmanovich <igorz@mainsoft.com>
1658
1659         * ClientScriptManager.cs: fixed: renders id attribute in hidden field
1660
1661 2006-10-18  Marek Habersack  <grendello@gmail.com>
1662
1663         * TemplateParser.cs: reference System.Resources when compiling a
1664         control.
1665
1666         * TemplateControl.cs: implement the GetGlobalResourceObject
1667         ASP.NET 2.0 APIs.
1668
1669 2006-10-12 Igor Zelmanovich <igorz@mainsoft.com>
1670
1671         * Page.cs: fixed: for 2.0 only
1672         When Page processes Callback IsPostBack = false, but it still needs
1673         LoadViewState/ControlState and ProcessPostData
1674
1675 2006-10-11 Igor Zelmanovich <igorz@mainsoft.com>
1676
1677         * DataSourceSelectArguments.cs: fixed: 
1678         SortExpression not returns null,
1679         Empty property returns new instance each time
1680
1681 2006-10-10 Igor Zelmanovich <igorz@mainsoft.com>
1682
1683         * DataSourceSelectArguments.cs: 
1684         fixed: RaiseUnsupportedCapabilitiesError method.
1685
1686 2006-10-09 Igor Zelmanovich <igorz@mainsoft.com>
1687
1688         * DataSourceSelectArguments.cs: fixed: Equals method.
1689
1690 2006-10-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1691
1692         * CssStyleCollection.cs: don't clear the collection of properties, but
1693         create a new one.
1694
1695 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1696
1697         * CssStyleCollection.cs: 'style' can be modified on our back, so build
1698         the style table every time instead of keeping one that is not in sync.
1699         Fixes bug #79587.
1700
1701 2006-09-25 Igor Zelmanovich <igorz@mainsoft.com>
1702
1703         * Page.cs: fixed: Cross-page postback feature in ASP.NET 2.0
1704         When page is invoked by cross-page posting, PreviousPage processed all 
1705         live-cycle up to OnLoadComplite included.
1706         IsPostBack, IsCallBack and IsCrossPagePostBack returns relevant values.
1707
1708 2006-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1709
1710         * TemplateParser.cs: patch by Joel Reed that makes use of the namespace
1711         collection from the PagesConfiguration to add new namespaces when
1712         generating the page/control code.
1713
1714 2006-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1715
1716         * PageParser.cs: support the EnableEventValidation attribute.
1717
1718 2006-09-18 Igor Zelmanovich <igorz@mainsoft.com>
1719
1720         * Page.cs: fixed: Title property works properly
1721
1722 2006-09-17 Igor Zelmanovich <igorz@mainsoft.com>
1723
1724         * ClientScriptManager.cs: added helper method
1725
1726 2006-09-14 Igor Zelmanovich <igorz@mainsoft.com>
1727
1728         * Page.cs: fixed: GetValidators(string), Validate(string) works properly
1729
1730 2006-09-08  Robert Jordan  <robertj@gmx.net>
1731
1732         * Page.cs: assure that RenderTrace is called even if an
1733         exception occurred. Fixes bug #78930.
1734
1735 2006-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1736
1737         * TemplateControl.cs: search for the new Page_* event handlers in 2.0.
1738         Patch by Marek Habersack that fixes bug #78268.
1739
1740 2006-09-07 Lluis Sanchez Gual  <lluis@novell.com>
1741
1742         * Page.cs: Use lowercase getElementById in the javascript that
1743         checks the browser.
1744
1745 2006-08-22  Vladimir Krasnov  <vladimirk@mainsoft.com>
1746
1747         * KeyedListEnumerator.cs: fixed Current property to return real object
1748         instead of DictionaryEntry
1749
1750 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1751
1752         * Page.cs: don't use the Browser object, as it slows down process
1753         request time *a lot*. Fixes bug #79206.
1754
1755 2006-09-05 Konstantin Triger <kostat@mainsoft.com>
1756
1757         * Page.cs: Imlemented InitOutputCache(OutputCacheParameters cacheSettings).
1758         * OutputCacheParameters.cs: added an implementation.
1759
1760 2006-09-04 Igor Zelmanovich <igorz@mainsoft.com>
1761
1762         * CssStyleCollection.cs: fixed: background-image style attribute
1763
1764 2006-08-31 Konstantin Triger <kostat@mainsoft.com>
1765
1766         * StaticPartialCachingControl.cs: added forwarding implementation for
1767                 2.0 version of BuildCachedControl().
1768
1769 2006-08-30 Igor Zelmanovich <igorz@mainsoft.com>
1770
1771         * Page.cs: added internal method
1772         * ClientScriptManager.cs:
1773
1774 2006-08-30 Igor Zelmanovich <igorz@mainsoft.com>
1775
1776         * ClientScriptManager.cs: added helper method
1777
1778 2006-08-22  Vladimir Krasnov  <vladimirk@mainsoft.com>
1779
1780         * Page.cs: fixed ApplyMasterPage, masterPageFile can be empty string
1781         if compiled with .net aspx parser
1782         fixed OnInit, GetStyleSheets may return null if no css files found by
1783         .net aspx parser
1784
1785 2006-08-22  Vladimir Krasnov  <vladimirk@mainsoft.com>
1786
1787         * TemplateControl.jvm.cs: fixed WireupAutomaticEvents, removed access
1788         modifiers check on event handlers
1789
1790 2006-08-22  Vladimir Krasnov  <vladimirk@mainsoft.com>
1791
1792         * Control.cs: implemented AppRelativeTemplateSourceDirectory for aspx 
1793         parser 2.0
1794         * TemplateControl.jvm.cs: fixed AppRelativeVirtualPath
1795         fixed TemplateSourceDirectory, should not work on master pages. 
1796
1797 2006-08-20  Vladimir Krasnov  <vladimirk@mainsoft.com>
1798
1799         * MasterPageParser.jvm.cs: fixed path resolving
1800         GetCompiledMasterInstance
1801
1802 2006-08-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1803
1804         * TemplateControl.jvm.cs: fixed data binding API, implemented
1805         AppRelativeVirtualPath, ReadStringResource
1806
1807 2006-08-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1808
1809         * Page.cs: added stubs to run aspx files compiled by .net
1810
1811 2006-08-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1812
1813         * MasterPageParser.jvm.cs: implemented
1814
1815 2006-08-10  Andrew Skiba <andrews@mainsoft.com>
1816
1817         * Page.cs: render css path as a virtual path.
1818
1819 2006-08-09  Robert Jordan  <robertj@gmx.net>
1820
1821         * Control.cs: add the 2.0 ResolveClientUrl method.
1822         Expose ResolveClientUrl as internal for the 1.1 profile.
1823         Fixes bug #77539.
1824
1825 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
1826
1827         * added MasterPageParser.jvm.cs
1828
1829 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
1830
1831         * ControlBuilder.jvm.cs: added BuildObject method
1832
1833 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
1834
1835         * ParseChildrenAttribute.cs: fixed ChildControlType property to
1836         compliant to .net
1837         * UserControl.cs: fixed ParseChildren attribute to be compliant
1838         to .net
1839
1840 2006-08-08 Igor Zelmanovich <igorz@mainsoft.com>
1841
1842         * Page.cs: implemented MaintainScrollPositionOnPostBack feature
1843
1844 2006-08-06  Vladimir Krasnov  <vladimirk@mainsoft.com>
1845
1846         * Control.cs: fixed EnableTheming proprty, fixes bug when child 
1847         control has EnableTheming=false and parent has true.
1848
1849 2006-07-31  Vladimir Krasnov  <vladimirk@mainsoft.com>
1850         
1851         * MasterPage.cs: fixed default values, fixed AddContentTemplate
1852
1853 2006-07-31  Vladimir Krasnov  <vladimirk@mainsoft.com>
1854
1855         * Control.cs: fixed EnableTheming proprty, fixes the bug when skins 
1856         are applied even if EnableTheming property was set to false.
1857
1858 2006-07-24 Andrew Skiba <andrews@mainsoft.com>
1859
1860         * DataSourceView.cs: refactor to keep the original exception stack.
1861
1862 2006-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1863
1864         * PostBackOptions.cs: default to String.Empty for several field values.
1865         Patch by Marek Habersack.
1866
1867 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1868
1869         * Page.cs: when ProcessRequest is not called, get the session from
1870         the current context. Fixes bug #78730.
1871
1872 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1873
1874         * Page.cs: fix IsPostback for AJAX calls to match MS behavior. Patch
1875         by Peijen Lin that closes bug #78646.
1876
1877 2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1878
1879         * TemplateControlParser.cs: fix compilation caching when more than one
1880         @control is compiled from source. Closes bug #78626.
1881
1882 2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1883
1884         * Page.cs: add the 2.0 Items property. Fixes bug #78467.
1885
1886 2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1887
1888         * Page.cs: use the new internal LosFormatter.SerializeToBase64.
1889         * LosFormatter.cs: always work on base 64 strings even if the
1890         input/output is on a Stream. Fixes bug #78640.
1891
1892 2006-06-08 Konstantin Triger <kostat@mainsoft.com>
1893
1894         * Page.cs: For loading themes, use '~/App_Themes' instead of
1895         './App_Themes' to enable theme support for files in sub folders.
1896
1897 2006-05-25  Andrew Skiba  <andrews@mainsoft.com>
1898
1899         * Control.cs: move 2.0 stuff into ifdef NET_2_0
1900
1901 2006-05-25  Andrew Skiba  <andrews@mainsoft.com>
1902
1903         * Page.cs, Control.cs: Fix the order of OnInit invocation of controls
1904         created via master page content (see 
1905         http://lists.ximian.com/pipermail/mono-devel-list/2006-May/018585.html ).
1906
1907 2006-05-11  Andrew Skiba  <andrews@mainsoft.com>
1908
1909         * Page.cs, PageTheme.cs: This patch uses LinkedStyleSheets from the
1910         PageTheme and from StyleSheetPageTheme to insert links in page header.
1911
1912 2006-05-10  Andrew Skiba  <andrews@mainsoft.com>
1913
1914         * TemlpateParser.cs: surround file name with quotes
1915
1916 2006-05-08  Chris Toshok  <toshok@ximian.com>
1917
1918         * ControlBuilder.cs (ResetState): set renderIndex to 0 here.  This
1919         fixes the last thing keeping the test in #76818 from working.
1920
1921 2006-05-07 Andrew Skiba <andrews@mainsoft.com>
1922
1923         * Page.cs: if no theme is defined in aspx, read default from web.config.
1924         Same for the style sheet theme.
1925
1926 2006-04-27 Andrew Skiba <andrews@mainsoft.com>
1927
1928         * TemplateParser.cs: format according to
1929         http://lists.ximian.com/pipermail/mono-devel-list/2006-April/018096.html
1930
1931 2006-04-25  Chris Toshok  <toshok@ximian.com>
1932
1933         * PageThemeParser.cs (LinkedStyleSheets): reformat.
1934
1935 2006-04-25 Konstantin Triger <kostat@mainsoft.com>
1936
1937         * Control.cs: implementation for IsViewStateEnabled.
1938
1939 2006-04-25 Andrew Skiba <andrews@mainsoft.com>
1940
1941         * Control.cs: fix null pointer exception
1942
1943 2006-04-23 Andrew Skiba <andrews@mainsoft.com>
1944
1945         * PageThemeParser.cs: add LinkedStyleSheets property
1946
1947 2006-04-16 Andrew Skiba <andrews@mainsoft.com>
1948
1949         * TemplateParser.cs: add internal method AddAssemblyByFileName
1950
1951 2006-04-16 Konstantin Triger <kostat@mainsoft.com>
1952
1953         * SimpleWebHandlerParser.cs: correctly resolve GACs dependencies.
1954
1955 2006-04-11 Konstantin Triger <kostat@mainsoft.com>
1956
1957         * Page.cs, TemplateControl.cs: refactoring implementing Page.GetDataItem().
1958
1959 2006-04-10  Chris Toshok  <toshok@ximian.com>
1960
1961         * PageThemeFileParser.cs (AddDirective): allow Register directives
1962         in skin files.
1963
1964 2006-04-02  Chris Toshok  <toshok@ximian.com>
1965
1966         * Control.cs (DesignMode): always return false for now.  Fixes
1967         #77991.
1968
1969 2006-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1970
1971         * ControlBuilder.cs: when creating a default property builder, handle
1972         strings specially.
1973
1974         * StringPropertyBuilder.cs: new builder used in TextBox 2.0.
1975
1976 2006-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
1977
1978         * ControlCollection.cs: fixed CopyTo method, fixes bug when if target 
1979         index is not zero
1980
1981 2006-03-13  Chris Toshok  <toshok@ximian.com>
1982
1983         * HtmlTextWriterTag.cs: no [Serializable] in 2.0.
1984
1985         * HtmlTextWriterAttribute.cs: same.
1986
1987         * HtmlTextWriterStyle.cs: same.
1988
1989         * VirtualReferenceType.cs: new enum.
1990
1991 2006-03-13  Chris Toshok  <toshok@ximian.com>
1992
1993         * UserControl.cs: rework InitializeAsUserControl and
1994         InitializeAsUserControlInternal - the Internal variety doesn't set
1995         this.page to null now.
1996
1997         * MasterPage.cs (CreateMasterPage): map the masterPageFile path,
1998         and also remove a line of spew.
1999
2000 2006-03-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
2001
2002         * Added PageParser.jvm.cs, WebServiceParser.jvm.cs
2003
2004 2006-03-07  Chris Toshok  <toshok@ximian.com>
2005
2006         * Page.cs (InitializeStyleSheet): load the style sheet theme using
2007         ThemeDirectoryCompiler.
2008         (InitializeTheme): load the page's theme using
2009         ThemeDirectoryCompiler.
2010         (InternalProcessRequest): call InitializeTheme after OnPreInit.
2011         (FrameworkInitialize): call InitializeStyleSheet.
2012         (PageTheme,StyleSheetPageTheme): new properties to get the
2013         respective themes.
2014
2015         * Control.cs (ApplyStyleSheetSkin): new method.  Calls ApplySkin
2016         on the ControlSkin (if there is one) for this control in the
2017         page's StyleSheetSkin.
2018         (ApplyThemeRecursively): applies the page's theme recursively to
2019         the control hierarchy.  Must be done this way because the control
2020         tree is already present when we apply the theme (it has to be,
2021         since theme's override settings).
2022
2023         * PageTheme.cs (GetControlSkin): add internal call to do the
2024         lookup for us.
2025
2026         * PageThemeFileParser.cs: the parser object that represents each
2027         individual skin file.
2028
2029         * PageThemeParser.cs: the parser object that represents the entire
2030         theme directory.
2031
2032         * PageThemeBuilder.cs: this class generates the right exception on
2033         the right event, but it's not hooked up yet.
2034
2035 2006-03-02  Chris Toshok  <toshok@ximian.com>
2036
2037         * Control.cs (ApplyStyleSheetTheme): remove the exception, and add
2038         a MonoTODO.
2039
2040         * Page.cs (Theme): implement setter/getter.
2041         (StyleSheetTheme): same.
2042         
2043         * PageParser.cs (ProcessMainAttributes): parse the Theme and
2044         StyleSheetTheme attributes.
2045
2046 2006-02-27  Chris Toshok  <toshok@ximian.com>
2047
2048         * TemplateControl.cs: corcompare work.
2049
2050         * ExpressionBindingCollection.cs: same.
2051
2052         * HierarchicalDataSourceControl.cs: same.
2053
2054         * PostBackOptions.cs: same.
2055
2056         * ClientScriptManager.cs: same.
2057
2058         * FilterableAttribute.cs: same.
2059
2060         * ControlCollection.cs: same.
2061
2062         * DataBindingCollection.cs: same.
2063         
2064         * PropertyEntry.cs: mark ctor internal.
2065
2066         * SimpleWebHandlerParser.cs: mark the 2.0 ctor as internal.
2067
2068         * Page.cs: stub out two Theme oriented 2.0 properties.
2069
2070         * DataBinder.cs: remove the obsolete attribute on the ctor.
2071
2072         * TwoWayBoundPropertyEntry.cs: remove this.
2073         
2074         * ControlBuilder.cs (BindingContainerType): virtual in 2.0.
2075
2076         * ThemeProvider: new (stubbed) class.
2077
2078         * SkinBuilder.cs: same.
2079
2080         * PageTheme.cs: same.
2081
2082         * ControlSkin.cs: same.
2083         
2084         * ControlSkinProc.cs: rename this to ControlSkinDelegate.cs.
2085         
2086         * SimplePropertyEntry.cs: mark ctor as internal.
2087
2088         * IThemeResolutionService.cs: enable the 3 members of this
2089         interface.
2090
2091 2006-02-27  Chris Toshok  <toshok@ximian.com>
2092
2093         * ListSourceHelper.cs: this class is static.
2094
2095         * Page.cs: add some EditorBrowsable attributes to the 2.0 events.
2096
2097 2006-02-27  Chris Toshok  <toshok@ximian.com>
2098
2099         * DataSourceView.cs: Name isn't virtual.
2100
2101         * DataSourceControl.cs: beat this class over the head with the
2102         corcompare stick.
2103
2104         * DataSourceControlBuilder.cs: new stubbed control builder for
2105         DataSourceControl.
2106
2107 2006-02-23  Chris Toshok  <toshok@ximian.com>
2108
2109         * Page.cs: more corcompare work.
2110
2111 2006-02-23  Chris Toshok  <toshok@ximian.com>
2112
2113         * Page.cs (ProcessCallbackData): track change to
2114         ICallbackEventHandler iface.
2115
2116         * ICallbackEventHandler.cs: enable the proper members of this
2117         interface.
2118
2119         * DataSourceSelectArguments.cs: reformat getter/setters.
2120         
2121 2006-02-22  Cesar Lopez Nataren  <cnataren@novell.com>
2122
2123         * HtmlTextWriter.cs: Added method WriteEncodedText for the .NET 2.0 profile.
2124
2125 2006-02-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2126
2127         * WebHandlerParser.cs:
2128         * WebServiceParser.cs:
2129         * UserControlParser.cs:
2130         * PageParser.cs: added new ctor that uses a TextReader as input.
2131
2132         * TemplateControlParser.cs: new Reader property.
2133         * SimpleWebHandlerParser.cs: new Reader property and ctor.
2134
2135 2006-02-12  Cesar Lopez Nataren  <cnataren@novell.com>
2136
2137         * HtmlTextWriter.cs: Implemented IsValidFormAttribute and
2138         WriterBreak for the .NET 2.0 profile.
2139
2140 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2141
2142         * IThemeResolutionService.cs: this is now added to the
2143         sources file, but some other stuff does not compile yet as the
2144         interface changed after the beta.
2145
2146         * ObjectConverter.cs: removed extra attribute.
2147
2148         * ObjectStateFormatter.cs: add IStateFormatter for 2.0.
2149
2150         * ICallbackEventHandler.cs: update the interface, but commented the
2151         'good' stuff out, since other files need to be fixed too.
2152
2153 2006-02-07  Chris Toshok  <toshok@ximian.com>
2154
2155         * ControlBuilder.cs: rename flushOutputStatements to
2156         methodStatements to at least reflect that they're in that method.
2157
2158 2006-02-07  Chris Toshok  <toshok@ximian.com>
2159
2160         * MasterPage.cs (CreateMasterPage): don't nullref on null
2161         contentTemplateCollection.
2162
2163         * ControlBuilder.cs: add a flushOutputStatements field.
2164
2165         * PageParser.cs (ProcessMainAttributes): handle Title attribute.
2166         (Title): add getter.
2167         
2168         * Page.cs (Title): implement getter/setter.
2169         (InternalProcessRequest): after calling ApplyMasterPage, apply the
2170         page's Title directive if there is one.
2171         (AddContentTemplate): make the EditorBrowsable attribute apply to
2172         the method, not the field.
2173         
2174 2006-02-07  Chris Toshok  <toshok@ximian.com>
2175
2176         * MasterPage.cs: rework this file, adding some static methods
2177         gleaned from MS stack traces, and clear up the propogation of
2178         content templates between nested master pages.
2179
2180         * Control.cs (TemplateControl): implement.
2181
2182         * TemplateControl.cs: re-indent some of the code.
2183         (ReadStringRecource): according to msdn2, these throw
2184         NotSupportedException.
2185
2186         * MasterPageParser.cs (HandleOption): implement.  assign our
2187         master page's MasterPageFile from the UserControl property.
2188
2189         * UserControl.cs (InitializeAsUserControlInternal): new method
2190         that allows initialization without a page.
2191
2192         * UserControlParser.cs (ProcessMainAttributes): for 2.0 handle
2193         MasterPageFile attributes, so we can have nested master pages.
2194         (MasterPageFile): add a 2.0 specific property.
2195         
2196         * TemplateControlParser.cs: in .net 2.0, our base class is
2197         BaseTemplateParser.
2198         (HandleOptions): be consistent and call base.HandleOptions.
2199
2200         * BaseTemplateParser.cs: new (stubbed) class.
2201
2202         * MasterPageControlBuilder.cs: new file, not filled in (and really
2203         not used either.)
2204
2205         * Page.cs (InternalProcessRequest): call ApplyMasterPage.
2206         (SaveExistingContentTemplates): nuke.
2207         (ReapplyExistingContentTemplate): nuke.
2208         (ApplyMasterPage): if we have a master page, call
2209         MasterPage.ApplyMasterPageRecursive with it and add it to our
2210         controls.
2211         (set_MasterPageFile): remove call to SaveExistingContentTemplates.
2212         (get_Master): call MasterPage.CreateMasterPage.
2213         (AddContentTemplate): keep track of the page's content templates
2214         in a local Hashtable - they aren't our master page's content
2215         templates.
2216
2217 2006-02-01  Chris Toshok  <toshok@ximian.com>
2218
2219         * TemplateParser.cs: CONFIGURATION_2_0 => NET_2_0, and replace
2220         calls to GetWebApplicationSection with GetSection.
2221
2222         * SimpleWebHandlerParser.cs: same.
2223
2224         * Page.cs: same.
2225
2226         * PageParser.cs: same.
2227
2228         * BaseParser.cs: same.
2229
2230 2006-01-27  Chris Toshok  <toshok@ximian.com>
2231
2232         * MasterPage.cs (ContentTemplatesInternal): add get/set for the
2233         actual Hashtable.
2234
2235         * Page.cs (SaveExistingContentTemplates): store off the existing
2236         MasterPage content templates so they can be reapplied when setting
2237         MasterPageFile to something else.
2238         (ReapplyExistingContentTemplates): set masterPage's
2239         ContentTemplates to our saved copy.
2240         (set_MasterPageFile): save off the current content templates
2241         before clearing masterPage.
2242         (get_Master): reapply the saved content templates after we create
2243         the new MasterPage.
2244         
2245 2006-01-25  Chris Toshok  <toshok@ximian.com>
2246
2247         * ClientScriptManager.cs (RegisterClientScriptResource): last
2248         patch, I swear.  How can 1 line of code have 3 bugs?
2249
2250 2006-01-25  Chris Toshok  <toshok@ximian.com>
2251
2252         * ClientScriptManager.cs (RegisterClientScriptResource): gah, fix
2253         problem with last commit - unquote "resourceName" so it uses the
2254         parameter instead of the string constant.
2255
2256 2006-01-22  Chris Toshok  <toshok@ximian.com>
2257
2258         * RootBuilder.cs (.cctor): use a 2.0 friendly hashtable ctor to
2259         quiet mcs.
2260
2261         * PageParser.cs (ProcessMainAttributes): i missed a
2262         CONFIGURATION_2_0 block.
2263
2264         * BoundPropertyEntry.cs (.ctor): mark as internal to fix
2265         corcompare.
2266
2267 2006-01-18 Konstantin Triger <kostat@mainsoft.com>
2268
2269         * ObjectStateFormatter.cs: preserve emptiness in ColorFormatter.
2270
2271 2006-01-18 Konstantin Triger <kostat@mainsoft.com>
2272
2273         * HtmlTextWriter.cs: perform case insensitive compare;
2274           return correct key in default case.
2275
2276 2006-01-11  Chris Toshok  <toshok@ximian.com>
2277
2278         * ClientScriptManager.cs (RegisterClientScriptResource):
2279         implement.
2280
2281 2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
2282
2283         * ObjectStateFormatter.cs: Removed TARGET_JVM parts in 
2284         TypeFormatter.Read
2285
2286 2006-01-10  Chris Toshok  <toshok@ximian.com>
2287
2288         * Page.cs (ValidateCollection): in NET_2_0 if event validation is
2289         off, return true.
2290
2291 2006-01-09  Chris Toshok  <toshok@ximian.com>
2292
2293         * Page.cs: fix a lot of indentation, and add the
2294         EnableEventValidation .net 2.0 property.
2295
2296 2006-01-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
2297
2298         * ObjectStateFormatter.cs: Merged TARGET_JVM parts in 
2299         TypeFormatter.Read, TypeFormatter.Write from /main/5
2300
2301 2006-01-09  Konstantin Triger <kostat@mainsoft.com>
2302
2303         * Page.cs: make ProcessRequest virtual under TARGET_JVM.
2304
2305 2006-01-04  Chris Toshok  <toshok@ximian.com>
2306
2307         * TemplateParser.cs (.ctor): kinda gross, but handle the
2308         AddAssembliesInBin case here.
2309         
2310         * SimpleWebHandlerParser.cs (.ctor): same.
2311
2312 2006-01-04  Chris Toshok  <toshok@ximian.com>
2313
2314         * SimpleWebHandlerParser.cs: Remove the declaration of
2315         compilationConfig in the CONFIGURATION_2_0 case.  it's
2316         unnecessary.
2317         (.ctor): ifdef out the AddAssembliesInBin call in the
2318         CONFIGURATION_2_0 case.  need to revisit this.
2319         (CompilationConfig): add a CONFIGURATION_2_0 version.
2320
2321         * BaseParser.cs: Remove the declaration of compilationConfig in
2322         the CONFIGURATION_2_0 case.  it's unnecessary.
2323
2324 2005-12-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2325
2326         * Control.cs: use _controls instead of the property wherever possible.
2327
2328 2005-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2329
2330         * Control.cs: use the _controls field instead of the Controls property.
2331         Fixes bug #76919.
2332
2333 2005-11-30  Sebastien Pouliot  <sebastien@ximian.com>
2334
2335         * KeyedList.cs: Fixed for IOrderedDictionary change in 2.0 final.
2336         Now internal.
2337         * KeyedListEnumerator.cs: Now internal.
2338
2339 2005-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2340
2341         * ControlCollection.cs: allow 'null' in Remove.
2342
2343 2005-11-28  Chris Toshok  <toshok@ximian.com>
2344
2345         * Page.cs (GetFormatter): CONFIGURATION_2_0 work.
2346
2347         * TemplateParser.cs (..ctor): CONFIGURATION_2_0 work.
2348         (PagesConfig): add a CONFIGURATION_2_0 version that returns a
2349         PagesSection.
2350
2351         * PageParser.cs (ProcessMainAttributes): CONFIGURATION_2_0 work.
2352
2353         * BaseParser.cs (CompilationConfig): add a CONFIGURATION_2_0
2354         version that returns a CompilationSection.
2355
2356 2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2357
2358         * SimpleWebHandlerParser.cs: removed 'codebehind' related stuff.
2359
2360 2005-11-09  Chris Toshok  <toshok@ximian.com>
2361
2362         * ViewStateEncryptionMode.cs: new 2.0 enum.
2363
2364 2005-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2365
2366         * TemplateParser.cs: fixes #76423. Not tested properly.
2367
2368 2005-11-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2369
2370         * Page.cs: call LoadViewStateRecursive when the Form collection has
2371         not been used by a different page (GetTypeHashCode). This fixes problems
2372         when calling Server.Transfer while preserving Form and QueryString,
2373         as the page we transfer to used the view state stored in the Form, which
2374         contained the serialized data for the page calling Server.Transfer
2375         instead.
2376
2377 2005-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2378
2379         * Page.cs: add/remove the error before/after invoking OnError.
2380
2381 2005-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2382
2383         * Page.cs: call OnError when there's an exception (not for TAE). Fixes
2384         bug #76572.
2385
2386 2005-10-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2387
2388         * TemplateControl.cs:
2389         * PartialCachingControl.cs: if a control is cacheable, LoadControl
2390         returns a PartialCachingControl that holds the VaryBy* and takes care
2391         of partial caching and rendering. Fixes bug #76547.
2392
2393 2005-10-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2394
2395         * Page.cs: don't cache the 'Validate()' results. IsValid retests
2396         the validators again.
2397
2398 2005-09-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2399
2400         * DesignerDataBoundLiteralControl.cs: changed autoid api.
2401         * DataBoundLiteralControl.cs: changed autoid api.
2402
2403         * Control.cs: fixlet for UniqueID and weird test case.  Removed
2404         PreventAutoID and only use the property to set that value.
2405
2406         * LiteralControl.cs: changed autoid api.
2407
2408 2005-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2409
2410         * AttributeCollection.cs: avoid code duplication and
2411         don't add "style" to the bag, or it will overwrite the settings made
2412         by CssStyleCollection.
2413
2414         * CssStyleCollection.cs: make it throw where MS throws.
2415         Minimize the number of times we create the "style" string and take
2416         care of updating it for the AttributeCollection. FillStyle and
2417         BagToString are now private. One should use the 2.0 (internal in <2.0)
2418         Value property.
2419
2420 2005-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2421
2422         * Control.cs: fix HasChildViewStates.
2423
2424 2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2425
2426         * LosFormatter.cs: when the default ctor is used, MAC is disabled.
2427         Fixes bug #76240.
2428
2429 2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2430
2431         * ObjectTagBuilder.cs: only fail when no id and no attributes.
2432
2433 2005-09-23  Sebastien Pouliot  <sebastien@ximian.com>
2434
2435         * DataBindingCollection.cs: Using an hashtable is a nice trick but
2436         we need to copy values (not the DictionaryEntry) in CopyTo.
2437         * Page.cs: IsValid throws an exception if the page hasn't be 
2438         validated. VerifyRenderingInServerForm doesn't throw an exception
2439         during unit testing (without a context?) but does in normal ops.
2440
2441 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2442
2443         * LosFormatter.cs: the exceptions thrown have a 500 httpCode. Really
2444         save the allocation of new MemoryStreams when possible. Thanks to
2445         Sebastien again.
2446
2447 2005-09-23  Ben Maurer  <bmaurer@ximian.com>
2448
2449         * HtmlTextWriter.cs: Initial support for escaping.
2450
2451 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2452
2453         * ViewStateOutputHashStream.cs: Removed. It didn't last long.
2454
2455         * Page.cs: almost restored to its previous state, but now that we found
2456         that LosFormatter ctor that takes 'enableMac', moved the logic to
2457         add the hash and validate there. Thanks to Sebastien for his input.
2458         
2459         * LosFormatter.cs: implemented the missing ctors and support for
2460         "MAC" validation of the data.
2461
2462 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2463
2464         * Page.cs:
2465         * ViewStateOutputHashStream.cs: added support for viewstate MAC. It
2466         prevents the viewstate being altered on the client and it's disabled
2467         by default as per the documentation, but MS machine.config has it
2468         enabled in machine.config.
2469
2470 2005-09-22  Miguel de Icaza  <miguel@novell.com>
2471
2472         * DataBindingCollection.cs: Raise the event, remove MonoTODO.
2473
2474         * MinimizableAttributeTypeConverter.cs: Fix warning, compare to a
2475         string. 
2476
2477 2005-09-21  Sebastien Pouliot  <sebastien@ximian.com>
2478
2479         * Control.cs: Added null checks for Trace as it can be null when 
2480         rendering (like it was for 39 unit tests).
2481
2482 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2483
2484         * Page.cs: reverted hacks used with the wrong method of getting a
2485         control rendered size.
2486         * Control.cs: if the trace is enabled, save control rendered size.
2487
2488 2005-09-19  Sebastien Pouliot  <sebastien@ximian.com> 
2489  
2490         * Page.cs: Remove references to IPageParser (removed from 2.0 RC). We
2491         now use HtmlHeader directly.
2492         * UrlPropertyAttribute.cs: Removed AllowedTypes property (2.0 RC) and
2493         rewrote Equals to avoid dual type cast.
2494
2495 2005-09-19  Sebastien Pouliot  <sebastien@ximian.com>
2496
2497         * SupportsEventValidationAttribute.cs: New attribute added in 2.0 RC.
2498
2499 2005-09-19  Sebastien Pouliot  <sebastien@ximian.com> 
2500
2501         * ControlBuilder.cs: Added BuildObject override for 2.0 profile.
2502         * TagPrefixAttribute.cs: Added LinkDemand for AspNetHostingPermission
2503         with Minimal level. Fixed checks on ctor.
2504         * TemplateBuilder.cs: Added LinkDemand and InheritanceDemand for 
2505         AspNetHostingPermission with Minimal level.
2506         * TemplateContainerAttribute.cs: Added LinkDemand for 
2507         AspNetHostingPermission with Minimal level.
2508         * TemplateControl.cs: Added LinkDemand and InheritanceDemand for 
2509         AspNetHostingPermission with Minimal level. Fixed checks/exceptions. 
2510         Stubbed IFilterResolutionService for CAS testing.
2511         * TemplateControlParser.cs: Added LinkDemand and InheritanceDemand for
2512         AspNetHostingPermission with Minimal level.
2513         * TemplateParser.cs: Added LinkDemand and InheritanceDemand for 
2514         AspNetHostingPermission with Minimal level.
2515         * ThemeableAttribute.cs: Added LinkDemand for AspNetHostingPermission
2516         with Minimal level. Removed IDispose interface.
2517         * ToolboxDataAttribute.cs: Added LinkDemand for 
2518         AspNetHostingPermission with Minimal level. Fixed IsDefaultAttribute 
2519         to work on both 1.x and 2.0 profiles.
2520         * Triplet.cs: Added LinkDemand and (only for 1.x) InheritanceDemand 
2521         for AspNetHostingPermission with Minimal level.
2522         * UserControl.cs: Added LinkDemand and InheritanceDemand for 
2523         AspNetHostingPermission with Minimal level. Stubbed 
2524         IFilterResolutionService for CAS testing.
2525         * UserControlControlBuilder.cs: Added LinkDemand and InheritanceDemand
2526         for AspNetHostingPermission with Minimal level.
2527         * ValidationPropertyAttribute.cs: Added LinkDemand for 
2528         AspNetHostingPermission with Minimal level.
2529         * ValidatorCollection.cs: Added LinkDemand for AspNetHostingPermission 
2530         with Minimal level.
2531         * WebResourceAttribute.cs: Removed extra ctor and added setter to 
2532         PerformSubstitution.
2533         * WebServiceParser.cs: Added LinkDemand and InheritanceDemand for 
2534         AspNetHostingPermission with Minimal level.
2535
2536 2005-09-15  Sebastien Pouliot  <sebastien@ximian.com> 
2537  
2538         * ParseChildrenAttribute.cs: Added LinkDemand for 
2539         AspNetHostingPermission with Minimal level. Simplified Equals to avoid
2540         casting. Added new ctor and public fields (2.0). Changed 
2541         ChildControlType setter visibility to internal.
2542         * PartialCachingAttribute.cs: Added LinkDemand for 
2543         AspNetHostingPermission with Minimal level. Added new ctor and 
2544         SqlDependency property (2.0).
2545         * PartialCachingControl.cs: Added LinkDemand and InheritanceDemand for
2546         AspNetHostingPermission with Minimal level.
2547         * PersistenceModeAttribute.cs: Added LinkDemand for 
2548         AspNetHostingPermission with Minimal level. Simplified Equals to avoid
2549         casting.
2550         * PersistChildrenAttribute.cs: Added LinkDemand for 
2551         AspNetHostingPermission with Minimal level. Simplified Equals to avoid 
2552         casting.
2553         * PropertyConverter.cs: Added LinkDemand for AspNetHostingPermission 
2554         with Minimal level. Class is static in 2.0.
2555         * RootBuilder.cs: Added LinkDemand and, for 2.0, InheritanceDemand for 
2556         AspNetHostingPermission with Minimal level. Class is no more sealed in
2557         2.0. Added new (2.0) BuiltObjects property.
2558         * SimpleWebHandlerParser.cs: Added LinkDemand and InheritanceDemand 
2559         for AspNetHostingPermission with Minimal level.
2560         * StateItem.cs: Added LinkDemand for AspNetHostingPermission with 
2561         Minimal level.
2562         * StateBag.cs: Added LinkDemand for AspNetHostingPermission with 
2563         Minimal level. Removed SetDirty() which was called (2.0) but did 
2564         nothing.
2565         * StaticPartialCachingControl.cs: Added LinkDemand and 
2566         InheritanceDemand for AspNetHostingPermission with Minimal level.
2567
2568 2005-09-15  Sebastien Pouliot  <sebastien@ximian.com>
2569
2570         * Html32TextWriter.cs: Added LinkDemand and InheritanceDemand for 
2571         AspNetHostingPermission with Minimal level. Added new 2.0 properties
2572         (but the generated HTML doesn't use them).
2573         * HtmlTextWriter.cs: Added LinkDemand and InheritanceDemand for 
2574         AspNetHostingPermission with Minimal level.
2575         * ImageClickEventArgs.cs: Added LinkDemand for AspNetHostingPermission
2576         with Minimal level.
2577         * LiteralControl.cs: Added LinkDemand and InheritanceDemand for 
2578         AspNetHostingPermission with Minimal level. Default Text is null.
2579         * LosFormatter.cs: Added LinkDemand and InheritanceDemand for 
2580         AspNetHostingPermission with Minimal level. Stubbed new 2.0 ctor.
2581         * ObjectConverter.cs: Added LinkDemand and InheritanceDemand for 
2582         AspNetHostingPermission with Minimal level. Obsoleted ctor for 2.0.
2583         * ObjectTagBuilder.cs: Added LinkDemand for AspNetHostingPermission 
2584         with Minimal level. Added check for null id (HttpException).
2585         * Page.cs: Added LinkDemand and InheritanceDemand for 
2586         AspNetHostingPermission with Minimal level. Throw some HttpException 
2587         when no context is available.
2588         * Pair.cs: Added LinkDemand for AspNetHostingPermission with Minimal 
2589         level. InheritanceDemand too for 1.x.
2590         * PageParser.cs: Added LinkDemand for AspNetHostingPermission with 
2591         Minimal level.
2592
2593 2005-09-14  Sebastien Pouliot  <sebastien@ximian.com>
2594  
2595         * DataBinder.cs: Added LinkDemand for AspNetHostingPermission with 
2596         Minimal level. Fixed some exceptions.
2597         * DataBindingCollection.cs: Added LinkDemand for 
2598         AspNetHostingPermission with Minimal level. Added 2.0 method and 
2599         event.
2600         * DataBindingHandlerAttribute.cs: Added LinkDemand for 
2601         AspNetHostingPermission with Minimal level.
2602         * DataBinding.cs: Added LinkDemand for AspNetHostingPermission with
2603         Minimal level. Simplified Equals (reduced casts).
2604         * DataBoundLiteralControl.cs: Added LinkDemand for 
2605         AspNetHostingPermission with Minimal level. Implemented ITextControl
2606         for 2.0.
2607         * DesignerDataBoundLiteralControl.cs: Added LinkDemand for 
2608         AspNetHostingPermission with Minimal level.
2609         * DesignTimeParseData.cs: Added LinkDemand for AspNetHostingPermission
2610         with Minimal level. Added new 2.0 properties.
2611         * DesignTimeTemplateParser.cs: Added LinkDemand for 
2612         AspNetHostingPermission with Minimal level. Made class static and 
2613         stubbed missing methods (2.0).
2614         * EmptyControlCollection.cs: Added LinkDemand and InheritanceDemand 
2615         for AspNetHostingPermission with Minimal level. Changed Add* methods
2616         exceptions to HttpException.
2617
2618 2005-09-14  Sebastien Pouliot  <sebastien@ximian.com> 
2619
2620         * AttributeCollection.cs: Added LinkDemand for AspNetHostingPermission
2621         with Minimal level.
2622         * BaseParser.cs: Added LinkDemand and InheritanceDemand for 
2623         AspNetHostingPermission with Minimal level.
2624         * BasePartialCachingControl.cs: Added LinkDemand and InheritanceDemand
2625         for AspNetHostingPermission with Minimal level.
2626         * CompiledTemplateBuilder.cs: Added LinkDemand for 
2627         AspNetHostingPermission with Minimal level.
2628         * ConstructorNeedsTagAttribute.cs: Added LinkDemand for 
2629         AspNetHostingPermission with Minimal level.
2630         * ControlBuilderAttribute.cs: Added LinkDemand for 
2631         AspNetHostingPermission with Minimal level. Simplified Equals and 
2632         IsDefaultAttribute.
2633         * ControlBuilder.cs: Added LinkDemand and InheritanceDemand for 
2634         AspNetHostingPermission with Minimal level.
2635         * ControlCachePolicy.cs: Hided ctor and removed SupportsCaching setter
2636         * ControlCollection.cs: Added LinkDemand and InheritanceDemand for 
2637         AspNetHostingPermission with Minimal level. Fixed possible stack 
2638         overflow in Add* methods. Fixed CopyTo as we're not allocating the 
2639         array based on the number of items.
2640         * Control.cs: Added LinkDemand and InheritanceDemand for 
2641         AspNetHostingPermission with Minimal level. Fixed 2.0 signatures.
2642         * CssStyleCollection.cs: Added LinkDemand for AspNetHostingPermission 
2643         with Minimal level.
2644         * IStyleSheet.cs: Fixed parameter orders (2.0).
2645
2646 2005-09-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2647
2648         * TemplateParser.cs: default VS 2005 pages are compiled fine now.
2649
2650 2005-09-07  Chris Toshok  <toshok@ximian.com>
2651
2652         * MinimizableAttributeTypeConverter.cs: new class, whose existence
2653         we know about because of corcompare, and for whose implementation
2654         we have exclusively nunit to thank.
2655
2656 2005-09-06  Chris Toshok  <toshok@ximian.com>
2657
2658         * RootBuilder.cs (.cctor): doh, add all the new html controls
2659         here.
2660
2661 2005-08-31  Chris Toshok  <toshok@ximian.com>
2662
2663         * DataSourceSelectArguments.cs (Empty): this is apparently,
2664         according to corcompare, a property, not a field.  go figure.
2665         (Equals): implement.
2666         (IsEmpty): remove all mention of it.
2667         
2668 2005-08-29  Chris Toshok  <toshok@ximian.com>
2669
2670         * StateBag.cs (GetChar): add.
2671
2672 2005-08-28  Chris Toshok  <toshok@ximian.com>
2673
2674         * Page.cs: more random corcompare work.
2675         (PageAdapter): implement.
2676         
2677 2005-08-28  Chris Toshok  <toshok@ximian.com>
2678
2679         * Page.cs (.ctor): set our initial ID to "__Page".
2680         (SmartNavigation): obsolete in 2.0.
2681         (FindControl): new implementation.  Just check our own ID against
2682         the control we're looking for.  otherwise pass it along to
2683         base.FindControl.
2684         (GetPostBackClientHyperlink): obsolete in 2.0.
2685
2686 2005-08-28  Chris Toshok  <toshok@ximian.com>
2687
2688         * ClientScriptManager.cs: public sealed in 2.0
2689
2690         * IAdaptableTextWriter.cs: new 2.0 interface.
2691
2692         * IHierarchyData.cs: fix return type for GetParent.
2693
2694 2005-08-28  Chris Toshok  <toshok@ximian.com>
2695
2696         * Pair.cs: mark serializable and sealed in 2.0.
2697
2698 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com>
2699
2700         * CssStyleCollection.cs: Implemented setter for Value (2.0) using the
2701         existing (but internal) FillStyle method. Rewrote BagToString to use an
2702         HtmlTextWriter so we get the "right" format for background-image url.
2703
2704 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com> 
2705  
2706         * CssStyleCollection.cs: Implemented this[HtmlTextWriterStyle], 
2707         Remove(HtmlTextWriterStyle) and the getter for Value (all 2.0). Removed
2708         the extra space from last patch because they break some unit tests.
2709
2710 2005-08-26  Lluis Sanchez Gual  <lluis@novell.com> 
2711
2712         * CssStyleCollection.cs: Added some spacing.
2713         * HtmlTextWriter.cs: Made style and attribute tables static.
2714           Implemented StaticGetStyleName().
2715
2716 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com> 
2717  
2718         * CssStyleCollection.cs: Stubbed new 2.0 stuff to allow TableStyleTest
2719         compilation. 
2720         * HtmlTextWriter.cs: Fix style rendering for BackgroundImage in 2.0.
2721         The new rendering formats the value as "url(" + original + ")".
2722
2723 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com> 
2724
2725         * HtmlTextWriter.cs: Added support for VerticalAlign style (as it 
2726         depends on the HtmlTextWriterStyle ordering).
2727
2728 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2729
2730         * HtmlTextWriter.cs: remove 'mistaken end of statement' and FIXME.
2731
2732 2005-08-25  Sebastien Pouliot  <sebastien@ximian.com> 
2733
2734         * HtmlTextWriterStyle.cs: Added missing VerticalAlign in 2.0 (which 
2735         fixed the rest of the enum values).
2736         * UrlPropertyAttribute.cs: Removed the .ctor accepting an UrlTypes
2737         parameter to match 2.0 API. Added a setter to the AllowedTypes 
2738         property.
2739
2740 2005-08-24  Chris Toshok  <toshok@ximian.com>
2741
2742         * Control.cs (get_Adapter): Instead of throwing an exception, just
2743         return null, so we can write the rest of the Control specific
2744         Adapter code and just not enable any of those code paths until we
2745         have actual adapters.  Also flag TODO.
2746         (EnsureChildControls): Call out to Adapter.CreateChildControls if
2747         we have an adapter.
2748         (RenderChildren): call "RenderControl (writer, adapter)" if we
2749         have an adapter.
2750         (RenderControl): implement the adapter case naively.
2751         (LoadRecursive): call out to Adapter.OnLoad if we have one.
2752         (PreRenderRecursiveInternal): call out to Adapter.OnPrerender if
2753         we have one.
2754         (InitRecursive): call out to Adapter.OnInit if we have one.
2755
2756 2005-08-24  Chris Toshok  <toshok@ximian.com>
2757
2758         * Page.cs (GetPostBackEventReference): track change to
2759         ClientScriptManager and don't call a removed method.
2760
2761         * ClientScriptManager.cs: track more recent docs and corcompare
2762         output.
2763
2764 2005-08-24  Sebastien Pouliot  <sebastien@ximian.com>
2765
2766         * KeyedList.cs: Fixed bug when removing an unexisting object.
2767         * StateManagedCollection.cs: Fixed API for beta2. Fixed buglets found 
2768         in implementing RoleGroupCollection.
2769
2770 2005-08-22  Sebastien Pouliot  <sebastien@ximian.com>
2771
2772         * Page.cs: Use Control property (and not the _control variable) to get
2773         the User (so the virtual Control property can be overriden properly).
2774         Sadly this doesn't seems to be the case for other properties (like 
2775         Request).
2776
2777 2005-08-18  Dick Porter  <dick@ximian.com>
2778
2779         * ControlCachePolicy.cs, PersistChildrenAttribute.cs,
2780         UserControl.cs, DesignerDataBoundLiteralControl.cs,
2781         PageStatePersister.cs, DataBoundLiteralControl.cs, Control.cs,
2782         BasePartialCachingControl.cs, LiteralControl.cs: 2.0 API fixes and
2783         stubs and attribute fixes
2784
2785 2005-08-13  Sebastien Pouliot  <sebastien@ximian.com>
2786
2787         * Control.cs: Add protected virtual SetDesignModeState, in 2.0 
2788         profile, as this is required for the Login control.
2789
2790 2005-08-11  Dick Porter  <dick@ximian.com>
2791
2792         * CssStyleCollection.cs: Tweak the css string format to pass a
2793         unit test
2794
2795         * AttributeCollection.cs: Don't NRE if someone sets the "style"
2796         attribute to null.
2797
2798 2005-08-05  Ben Maurer  <bmaurer@ximian.com>
2799
2800         * HtmlTextWriter.cs: Revert the patch below, see test case
2801
2802 2005-08-05  Dick Porter  <dick@ximian.com>
2803
2804         * HtmlTextWriter.cs: Make <option> tags render inline, to match
2805         the ms output
2806
2807 2005-08-03  Ben Maurer  <bmaurer@ximian.com>
2808
2809         * HtmlTextWriter.cs: Optmize this not to do insane amounts of
2810         allocation for large pages, etc.
2811
2812 2005-07-30  Chris Toshok  <toshok@ximian.com>
2813
2814         * Page.cs (VerifyRenderingInServerForm): copy MS's error message
2815         since our form-errors jsunit tests depend on it.
2816
2817 2005-07-30  Chris Toshok  <toshok@ximian.com>
2818
2819         * DataBinder.cs (FormatResult): make internal, not private.
2820
2821 2005-07-29  Ben Maurer  <bmaurer@ximian.com>
2822
2823         * StateBag.cs: Don't remove when tracking viewstate, as per msft
2824         docs.
2825
2826 2005-07-29  Ben Maurer  <bmaurer@ximian.com>
2827
2828         * StateBag.cs: Actually *remove* items that are null. Duh.
2829
2830 2005-07-21  Peter Dennis Bartok  <pbartok@novell.com>
2831
2832         * Page.cs: Need to throw exception when accessing Request but no
2833           context exists
2834
2835 2005-07-20  Chris Toshok  <toshok@ximian.com>
2836
2837         * ClientScriptManager.cs (GetClientValidationEvent): the JS we
2838         stick in onclick handlers for buttons/links/etc.
2839
2840         * Page.cs (GetSubmitStatements): new function to return
2841         scriptManager.WriteSubmitStatements.  Used by HtmlForm.
2842         (AreValidatorsUplevel): used by many of the button/linkbutton
2843         controls (the ones that can CauseValidation) to tell whether or
2844         not to emit client side validation calls.
2845
2846 2005-07-20  Chris Toshok  <toshok@ximian.com>
2847
2848         * WebResourceAttribute.cs: make internal (and available) in
2849         !NET_2_0.
2850
2851 2005-07-20  Chris Toshok  <toshok@ximian.com>
2852
2853         * ClientScriptManager.cs (GetWebResourceUrl): make internal (but
2854         available) in !NET_2_0.
2855
2856 2005-07-18  Peter Dennis Bartok  <pbartok@novell.com>
2857
2858         * Control.cs: Added IDataBindingsAccessor interface methods
2859
2860 2005-07-18  Ben Maurer  <bmaurer@ximian.com>
2861
2862         * HtmlTextWriter.cs: Fix nested indentation
2863
2864 2005-07-18  Peter Dennis Bartok  <pbartok@novell.com>
2865
2866         * Control.cs: Added missing IParserAccessor.AddParsedSubObject 
2867           interface method
2868
2869 2005-07-18  Ben Maurer  <bmaurer@ximian.com>
2870
2871         * HtmlTextWriter.cs: Fix indentation (somewhat at least)
2872
2873 2005-07-18  Peter Dennis Bartok  <pbartok@novell.com>
2874
2875         * Control.cs:
2876           - Default name for controls on MS.Net is "_ctl" not "_ctrl"
2877           - MS does not append 'a' for auto-generated names
2878
2879 2005-07-17  Ben Maurer  <bmaurer@ximian.com>
2880
2881         * AttributeCollection.cs: Use the invariant culture.
2882
2883         * StateBag.cs: "Duh" optimization: return null when there are no
2884         dirty items in the view state
2885
2886 2005-07-14  Ben Maurer  <bmaurer@ximian.com>
2887
2888         * StateBag.cs: A "short" version of my favorite method.
2889
2890         * HtmlTextWriter.cs: New method to get the tag name staticly.
2891
2892 2005-07-14  Duncan Mak  <duncan@novell.com>
2893
2894         * DataBindingHandlerAttribute.cs: Fixed after receiving some
2895         comments from Gonzalo.
2896
2897 2005-07-13  Jackson Harper  <jackson@ximian.com>
2898
2899         * PropertyConverter.cs: No public constructors.
2900
2901 2005-07-13  Ben Maurer  <bmaurer@ximian.com>
2902
2903         * HtmlTextWriter.cs: Remove debugging spew. Style cleanup
2904
2905 2005-07-12  Ben Maurer  <bmaurer@ximian.com>
2906
2907         * HtmlTextWriter.cs: Make styles work.
2908
2909 2005-07-11  Peter Dennis Bartok  <pbartok@novell.com>
2910
2911         * AttributeCollection.cs: 
2912           - Changes to match MS behaviour, the "style" attribute is always 
2913             added to the list, in addition to being added to the 
2914             CssStyleCollection. Also added check for "style" attribute when 
2915             setting via index setter
2916           - When "Style" attribute is added, CssStyleCollection is 
2917             automatically created
2918           - The style keyword needs to be lowercase
2919
2920 2005-07-11  Ben Maurer  <bmaurer@ximian.com>
2921
2922         * HtmlTextWriter.cs: Missing a PopEndTag here.
2923
2924         * PropertyConverter.cs: Pass tests
2925
2926 2005-07-09  Miguel de Icaza  <miguel@novell.com>
2927
2928         * DataBindingHandlerAttribute.cs: Create the "Default" property.
2929
2930 2005-07-09  Duncan Mak  <duncan@novell.com>
2931
2932         * DataBindingHandlerAttribute.cs: Implemented.
2933
2934 2005-07-08  Ben Maurer  <bmaurer@ximian.com>
2935
2936         * HtmlTextWriter.cs: Much better compliance with msft
2937
2938 2005-07-08  Jackson Harper  <jackson@ximian.com>
2939
2940         * ToolbarDataAttribute.cs: New implementation.
2941
2942 2005-07-07  Jackson Harper  <jackson@ximian.com>
2943
2944         * PropertyConverter.cs: New implementation.
2945
2946 2005-07-07  Ben Maurer  <bmaurer@ximian.com>
2947
2948         * StateBag.cs: Noticed an issue where SetDirty was called when the
2949         key did not exist.
2950
2951 2005-07-07  Ben Maurer  <bmaurer@ximian.com>
2952
2953         * StateBag.cs: Add a method that gets a string or else a default
2954         value.
2955
2956 2005-07-07  Dick Porter  <dick@ximian.com>
2957
2958         * StateBag.cs: Added internal SetDirty (void) method to fix the
2959         build
2960
2961 2005-07-07  Sebastien Pouliot  <sebastien@ximian.com>
2962
2963         * HtmlTextWriter.cs: Small fixlet when attribute has no value.
2964
2965 2005-07-07  Miguel de Icaza  <miguel@novell.com>
2966
2967         * HtmlTextWriter.cs: Return the stuff in lowercase to pass the
2968         tests. 
2969
2970         * StateBag.cs: Add NET_2_0 SetDirty method to get the build
2971         going. 
2972
2973 2005-07-07  Sebastien Pouliot  <sebastien@ximian.com>
2974
2975         * HtmlTextWriter.cs: Small fixlet (required for the unit tests).
2976
2977 2005-07-06  Ben Maurer  <bmaurer@ximian.com>
2978
2979         * HtmlTextWriter.cs: Make sure to clear attributes when they are
2980         written.
2981
2982         * StateBag.cs: New impl
2983
2984 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2985
2986         * Page.cs:
2987         * Control.cs: avoid the creation of the EventHandlerList and accessing 
2988         to it whenever possible. Fix ENABLE_THEMING constant.
2989
2990 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2991
2992         * TemplateParser.cs:
2993         * TemplateControlParser.cs:
2994         * UserControlParser.cs: detect circular references when a control tries
2995         to register itself as a tag. Fixes bug #75376.
2996
2997 2005-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2998
2999         * PageParser.cs: don't try to compile the master page if it wan't
3000         provided. Use MapPath from the base classes instead of the long
3001         version. Fixes bug #75269 that prevented xsp2 from working properly.
3002
3003 2005-06-13  Lluis Sanchez Gual <lluis@novell.com> 
3004
3005         * MasterPage.cs: Clear the default content of placeholders before
3006         adding the page content. Fixes bug #75193.
3007
3008 2005-06-13  Lluis Sanchez Gual <lluis@novell.com>
3009
3010         * PageParser.cs: Added MasterType property. Get the type from the
3011         MasterType directive.
3012         * MasterPageParser.cs: Added GetCompiledMasterType method.
3013
3014 2005-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3015
3016         * UserControl.cs:
3017         * Page.cs:
3018         * Control.cs: updates for 1.1 SP1
3019
3020 2005-06-06  Lluis Sanchez Gual <lluis@novell.com>
3021
3022         * Control.cs: Added new DataBind() overload for 2.0. The old
3023         method calls this new overload.
3024
3025 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3026
3027         * TemplateParser.cs: ignore empty assembly.Location for in-memory
3028         generated assemblies.
3029
3030 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3031
3032         * Page.cs: added AddContentTemplate method.
3033
3034 2005-05-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3035
3036         * AttributeCollection.cs: html-encode attribute values. Fixes
3037         bug #73771.
3038
3039 2005-05-26  Lluis Sanchez Gual <lluis@novell.com>
3040
3041         * DataSourceView.cs: Fix api.
3042         * NonVisualControlAttribute.cs: Implemented.
3043         * IDataItemContainer.cs: Added missing properties.
3044         * Control.cs: Added new EnableTheming and SkinID properties.
3045         * HierarchicalDataSourceControl.cs: Implemented missing methods.
3046
3047 2005-05-13  Lluis Sanchez Gual <lluis@novell.com>
3048
3049         * ControlCollection.cs: Added internal setter for ReadOnly.
3050
3051 2005-05-09 Geoff Norotn <gnorton@customerdna.com>
3052
3053         * TemplateParser.cs: Silently remove the CodeFile attribute that ASP.NET 2.0
3054         uses instead of codebehind.
3055
3056 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3057
3058         * Page.cs: as setting CurrentCulture is slow, don't set it if the
3059         culture has not changed since before the page started processing.
3060
3061 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3062
3063         * TemplateParser.cs: LoadWithPartialName returns null if the assembly is
3064         not found.
3065
3066 2005-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3067
3068         * TemplateParser.cs:
3069         * SimpleWebHandlerParser.cs: removed values assigned and neved used.
3070
3071 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3072
3073         * SimpleWebHandlerParser.cs:
3074         * TemplateParser.cs: always get the location (full path) for assemblies,
3075         even the ones from the GAC.
3076
3077         * BaseCompiler.cs: check that DynamicBase directory exists before
3078         creating the TempFileCollection.
3079
3080 2005-04-22  Lluis Sanchez Gual <lluis@novell.com>
3081
3082         * ClientScriptManager.cs: Use a linked list instead of a Hashtable
3083         to store the scripts. In this way, scripts will be rendered in the
3084         same order as they have been registered. It shouldn't be slower
3085         since pages don't have many scripts.
3086
3087 2005-04-21  Lluis Sanchez Gual <lluis@novell.com>
3088
3089         * IEditableTextControl.cs: Implemented.
3090         * DataBinder.cs: Marked constructor as obsolete in 2.0.
3091         In GetDataItem, check for the IDataItemContainer interface
3092         in the container.
3093         * TemplateControl.cs: Improved check for data item.
3094
3095 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3096
3097         * TemplateParser.cs: we still need LoadWithPartialName if Load fails.
3098         * Page.cs: ensure _requiresPostBack is emptied if we didn't have a copy
3099         for second postback.
3100
3101 2005-04-20  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
3102         * TemplateParser.cs: Adding support for Strict/Explicit attributes 
3103         for @Page/@Control directives as documented at 
3104         http://msdn.microsoft.com/library/en-us/cpgenref/html/cpconControlDirective.asp.
3105         First step don't choke on them. Fixing #74671
3106
3107 2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3108
3109         * TemplateParser.cs: use Load instead of LoadWithPartialName. That was
3110         there from the time when Load wasn't working properly. First part of the
3111         fix to 74500.
3112
3113 2005-04-15  Lluis Sanchez Gual <lluis@novell.com>
3114
3115         * ControlBuilder.cs: The BindingContainerType property happens
3116         to exist in 2.0, so I made it public. Added ParentTemplateBuilder,
3117         which is used to get the binding container that is managing
3118         the current two-way binding context.
3119         * TemplateBuilder.cs: Added some methods and an internal class
3120         to support two-way bindings.
3121         * CompiledBindableTemplateBuilder.cs: Implemented.
3122         * IBindableTemplate.cs: This interface inherits from ITemplate.
3123
3124 2005-04-14  Lluis Sanchez Gual <lluis@novell.com>
3125
3126         * ControlBuilder.cs: Added BindingContainerType property,
3127         which works like NamingContainerType but takes into account
3128         template builders with a specific container type (specified
3129         using the TemplateContainerAttribute.
3130         * StateManagedCollection.cs: Reimplemented Save/Load view
3131         state methods. The existing implementation was not correct
3132         in all cases.
3133
3134 2005-04-08  Lluis Sanchez Gual <lluis@novell.com>
3135
3136         * DataSourceView.cs: Added null check.
3137
3138 2005-04-07  Lluis Sanchez Gual <lluis@novell.com>
3139
3140         * TemplateControl.cs:
3141         * Page.cs: Moved Eval and XPath from Page
3142         to TemplateControl.
3143         * StateManagedCollection.cs: Avoid saving null state.
3144
3145 2005-04-01  Lluis Sanchez Gual <lluis@novell.com>
3146
3147         * DataSourceView.cs: Rethrow exceptions not handled by operation
3148         callbacks.
3149         * ITextControl.cs: Removed event.
3150         * CollectionBuilder.cs: Don't crash when a collection has more
3151         than one indexer.
3152
3153 2005-03-23  Lluis Sanchez Gual <lluis@novell.com>
3154
3155         * Control.cs: Added a new internal property: HasRenderMethodDelegate.
3156         * HtmlTextWriterAttribute.cs: Replaced wrong enum value.
3157         * HtmlTextWriter.cs: Register new ASP.NET 2.0 attributes
3158
3159 2005-03-16  Lluis Sanchez Gual  <lluis@novell.com>
3160
3161         * ClientScriptManager.cs: Fix build.
3162
3163 2005-03-11  Lluis Sanchez Gual <lluis@novell.com>
3164
3165         * Utils.cs, Control.cs: Don't use Page.GetPostBackClientEvent
3166         since it is deprecated in 2.0.
3167         * Page.cs: Deprecated GetPostBackClientEvent and similar methods
3168         in 2.0. Moved callback management methods to ClientScriptManager.
3169         * ClientScriptManager.cs: Moved here deprecated methods from Page.
3170         In GetPostBackEventReference (PostBackOptions), don't use the
3171         WebForm_DoPostback script if the post can be done with a simple
3172         __doPostBack call.
3173         * PostBackOptions.cs: Fixed default values for some properties.
3174
3175 2005-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3176
3177         * Control.cs: in FindControl, throw if there's more than one control
3178         with the same ID. Fixes bug #73479.
3179
3180 2005-03-04  Lluis Sanchez Gual <lluis@novell.com>
3181
3182         * Page.cs: Load control state before loading view state, and the
3183         same for saving.
3184         * DataSourceSelectArguments.cs: Fix recursive property call.
3185
3186 2005-02-25  Lluis Sanchez Gual <lluis@novell.com>
3187
3188         * DataSourceView.cs: Fixed incorrect implementation of
3189         RaiseUnsupportedCapabilityError.
3190         * IDataItemContainer.cs: Added new properties.
3191         * Page.cs: Implemented Form property.
3192         * Control.cs: Fixed formatting.
3193         * StateManagedCollection.cs: Track view state of items loaded
3194         in LoadViewState.
3195
3196 2005-02-22  Lluis Sanchez Gual <lluis@novell.com>
3197
3198         * FilterableAttribute.cs: Fix endless loop.
3199
3200 2005-02-18  Lluis Sanchez Gual <lluis@novell.com>
3201
3202         * Page.cs: Implemented missing events.
3203
3204 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3205
3206         * BoundPropertyEntry.cs:
3207         * PropertyEntry.cs:
3208         * TwoWayBoundPropertyEntry.cs: implemented.
3209
3210 2005-02-10  Lluis Sanchez Gual <lluis@novell.com>
3211
3212         * Page.cs: Added support for validation groups. Some fixes in
3213         SavePageControlState().
3214         * IFilterResolutionService.cs: Removed extra field.
3215         * INavigateUIData.cs: Added missing field.
3216         * ICheckBoxControl.cs, IStaticTextControl.cs, ITextControl.cs:
3217         Implemented new interfaces.
3218
3219 2005-02-04  Lluis Sanchez Gual <lluis@novell.com>
3220
3221         * Page.cs: Implemented support for cross page postback. Implemented
3222         support for postback with options. Fixed several method and property
3223         signatures for 2.0.
3224         * PostBackOptions.cs: Added some TODOs.
3225
3226 2005-02-02  Lluis Sanchez Gual <lluis@novell.com>
3227
3228         * ParseChildrenAttribute.cs: Set the correct default value for the
3229         childType property.
3230
3231 2005-01-28  Lluis Sanchez Gual <lluis@novell.com>
3232
3233         * ParseChildrenAttribute.cs: Added 2.0 property.
3234         * Pair.cs, Triplet.cs: Make classes serializable and sealed in 2.0.
3235         * Page.cs: Added support for control state.
3236         * TemplateBuilder.cs: ContainerType should be internal.
3237         * Control.cs: Added some new 2.0 methods.
3238
3239 2005-01-21  Lluis Sanchez Gual <lluis@novell.com>
3240
3241         * PageParser.cs: Read the MasterPageFile attribute.
3242         * UserControlParser.cs: Not sealed any more since we need to inherit from
3243         it. Added new constructor with an additional "type" parameter.
3244         * MasterPageParser.cs: Parser for master pages.
3245         * Page.cs: Added support for master pages.
3246         * MasterPage.cs: Implemented.
3247
3248 2005-01-10  Lluis Sanchez Gual <lluis@novell.com>
3249         
3250         * TemplateBuilder.cs: Added a special constructor that takes an
3251         attribute provider as parameter. The container type for the template
3252         may be defined in a TemplateContainerAttribute.
3253         * ControlBuilder.cs: Create the TemplateBuilder using that special
3254         constructor.
3255         * TemplateContainerAttribute.cs: Added 2.0 property and ctor.
3256
3257 2004-12-20 Lluis Sanchez Gual  <lluis@novell.com>
3258
3259         * IStyleSheet.cs: Added missing "using".
3260         * Page.cs: Implemented Header property.
3261         * CssStyleCollection.cs: Made BagToString method internal.
3262         * RootBuilder.cs: Register HtmlHead control.
3263         
3264 2004-12-17 Lluis Sanchez Gual  <lluis@novell.com>
3265
3266         * CssStyleCollection.cs: Minor (!) fix.
3267         * HtmlTextWriter.cs: Register names for new 2.0 styles.
3268
3269 2004-12-17 Lluis Sanchez Gual <lluis@novell.com>
3270
3271         * CssStyleCollection.cs: Make it work as a standalone collection.
3272         * HtmlTextWriter.cs: Added static method for getting style names.
3273
3274 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3275
3276         * ControlCollection.cs: fix off-by-one and store a null at the end to
3277         remove the reference to the removed control.
3278
3279 2004-12-10 Lluis Sanchez Gual <lluis@novell.com>
3280
3281         * ClientScriptManager.cs: Added GetScriptLiteral helper method.
3282         
3283 2004-12-02 Lluis Sanchez Gual <lluis@novell.com>
3284
3285         * Page.cs: Added support for callback events. Moved theform variable
3286         outside the __doPostBack function, so it can be used by other
3287         scripts.
3288         * StateBag.cs: Implemented SetDirty().
3289
3290 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3291
3292         * Control.cs: when saving "Visible" into the ViewState, save the value
3293         for this precise control, as using the Visible property might give us
3294         Control's parent visibility. Fixes bug #69200.
3295
3296 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3297
3298         * Control.cs: fixed ResolveUrl for relative URLs when using cookie-less
3299         sessions.
3300
3301         * System.Web.Util/UrlUtils.cs: made (Insert|Get|Remove)SessionId use
3302         the appRoot + SessionID + vpath format.
3303
3304         Fixes the 3 issues reported in bug #66623.
3305
3306 2004-11-26 Lluis Sanchez Gual <lluis@novell.com>
3307
3308         * Page.cs: Moved code for managing client scripts to ClientScriptManager,
3309         which is public in 2.0 and internal in 1.1.
3310         * ClientScriptManager.cs: Implemented.
3311
3312 2004-11-25 Sanjay Gupta <gsanjay@novell.com>
3313
3314         * DataSourceView.cs: Removed extra method.
3315
3316 2004-11-24 Sanjay Gupta <gsanjay@novell.com>
3317         
3318         * DataSourveViewSelectCallback.cs: Corrected method signature.
3319
3320 2004-11-23 Lluis Sanchez Gual <lluis@novell.com>
3321
3322         * ControlBuilder.cs: Always check for the ParseChildrenAttribute,
3323         even if the class doesn't implement IParserAccessor.
3324         * WebResourceAttribute.cs: Allow multiple attributes of this type.
3325
3326 2004-11-15 Lluis Sanchez Gual <lluis@novell.com>
3327
3328         * DataSourceView.cs: Moved here implementation of DataSourceViewChanged 
3329         from SqlDataSourceView.cs.
3330
3331 2004-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3332
3333         * Control.cs: unified a few bool fields into an int one.
3334
3335         * ControlCollection.cs: use an array internally instead of always
3336         allocating an arraylist. Also added our own enumerator.
3337         
3338         * EmptyControlCollection.cs: there's no 'special' ctor now in the base
3339         class.
3340
3341 2004-11-05 Sanjay Gupta <gsanjay@novell.com>
3342
3343         * DataSourceView.cs: Changes in access modifiers of methods.
3344
3345 2004-10-20 Sanjay Gupta <gsanjay@novell.com>
3346
3347         * DataSourceCapabilities.cs: Added Flags attribute.
3348         * DataSourceSelectArguments.cs: Updated.
3349         * DataSourveView.cs: Updated.
3350
3351 2004-10-19 Sanjay Gupta <gsanjay@novell.com>
3352
3353         * HierarchicalDataSourceView.cs: Corrected class definition and updated.
3354
3355 2004-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3356
3357         * HierarchicalDataSourceView.cs: fix typo.
3358
3359 2004-10-18 Sanjay Gupta <gsanjay@novell.com>
3360
3361         * HierarchicalDataSourceView.cs: Updated.
3362
3363 2004-10-18 Sanjay Gupta <gsanjay@novell.com>
3364
3365         * DataSourceSelectArguments.cs: Initial implementation.
3366
3367 2004-10-12 Sanjay Gupta <gsanjay@novell.com>
3368
3369         * UrlPropertyAttribute.cs: Corrected implementation of Equals () method.
3370
3371 2004-10-12 Sanjay Gupta <gsanjay@novell.com>
3372
3373         * UrlTypes.cs: Updated.
3374
3375 2004-10-12 Sanjay Gupta <gsanjay@novell.com>
3376
3377         * UrlPropertyAttribute.cs: Added new file.
3378
3379 2004-10-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3380
3381         * Control.cs: even if the control has no children the naming container
3382         may contain the control we're looking for. Fixes bug #67304.
3383
3384 2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3385
3386         * AspGenerator.cs: added OtherTags.
3387
3388 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
3389
3390         * ControlValuePropertyAttribute.cs: Initial implementation.
3391
3392 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
3393
3394         * IPaginationContainer.cs: Corrected name of class.
3395
3396 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
3397
3398         * IDReferencePropertyAttribute.cs: Completed implementation.
3399
3400 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
3401
3402         * ThemeableAttribute.cs:
3403         * FilterableAttribute.cs: Code scrubbing and optimization.
3404
3405 2004-09-14 Sanjay Gupta <gsanjay@novell.com>
3406
3407         * ThemeableAttribute.cs: Completed implementation.
3408
3409 2004-09-14 Sanjay Gupta <gsanjay@novell.com>
3410
3411         * FilterableAttribute.cs: Completed implementation.
3412
3413 2004-09-14 Sanjay Gupta <gsanjay@novell.com>
3414
3415         * Control.cs: Added new attributes and a method.
3416         * FilterableAttribute.cs: New attribute, initial implementation.
3417         * ThemeableAttribute.cs: New attribute, initial implemenataion.
3418
3419 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3420
3421         * TemplateParser.cs: ensure bin directory exists before trying to access
3422         it. Fixes bug #65446 (not closed yet due to dependencies).
3423
3424 2004-09-09 Sanjay Gupta <gsanjay@novell.com>
3425
3426         * Control.cs: Implemented methods of interface IExpressionAccessor.
3427
3428 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3429
3430         * SimpleWebHandlerParser.cs: correctly cache Type instead of the
3431         assembly for ashx/asmx. Otherwise we need to open the file and check
3432         for the class name in there. Thanks to Ben for pointing this out.
3433
3434 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3435
3436         * TemplateParser.cs: removed creation of StringWriter.  It's not used.
3437         * Control.cs: don't create the EventHandlerList until requested.
3438
3439 2004-09-03 Sanjay Gupta <gsanjay@novell.com>
3440         
3441         * Control.cs: Added new interfaces implemented in .Net 2.0. 
3442         * ExpressionBinding.cs: Added new class.
3443         * ExpressionBindingCollection.cs: Added new class.
3444         
3445 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3446
3447         * LiteralControl.cs: stylized. This control has EnableViewState disabled
3448         by default and doesn't get an automatic ID. When text is null -> "".
3449
3450 2004-08-31 Sanjay Gupta <gsanjay@novell.com>
3451         
3452         * ControlSkinProc.cs:
3453         * DataSourceViewOperationCallback.cs:
3454         * DataSourceViewSelectCallback.cs:
3455         * ExtractTemplateValuesMethod.cs: Explicit modifier "sealed" not 
3456         required in definition as delegates by default are sealed.
3457         
3458 2004-08-31 Sanjay Gupta <gsanjay@novell.com>
3459
3460         * IDReferencePropertyAttribute.cs: Corrected and changed from interface
3461         to class.
3462         * IMobileTextWriter.cs: Corrected method signatures.
3463
3464 2004-08-09 Sanjay Gupta <gsanjay@novell.com>
3465
3466         * ControlSkinProc.cs:
3467         * DataSourceViewOperationCallback.cs:
3468         * DataSourceViewSelectCallback.cs:
3469         * ExtractTemplateValuesMethod.cs: Added new delegates.
3470
3471 2004-08-06 Sanjay Gupta <gsanjay@novell.com>
3472
3473         * IBindableTemplate.cs:
3474         * ICallbackEventHandler.cs:
3475         * IControlBuilderAccessor.cs:
3476         * IControlDesignerAccessor.cs:
3477         * IControlTypeFilter.cs:
3478         * IDataItemContainer.cs:
3479         * IDataSourceViewSchemaAccessor.cs:
3480         * IDReferencePropertyAttribute.cs:
3481         * IExpressionsAccessor.cs:
3482         * IFilterResolutionService.cs:
3483         * IItemPaginationInfo.cs:
3484         * IMobileTextWriter.cs:
3485         * IPageHeader.cs:
3486         * IPaginationContainer.cs:
3487         * IPaginationInfo.cs:
3488         * IResourceResolutionService.cs:
3489         * IResourceUrlGenerator.cs:
3490         * IStateFormatter.cs:
3491         * IStyleSheet.cs:
3492         * IThemeResolutionService.cs:
3493         * IUrlResolutionService.cs:
3494         * IUserControlTypeResolutionService.cs: Added new files for Interfaces.
3495
3496 2004-08-05 Sanjay Gupta <gsanjay@novell.com>
3497
3498         * PostBackOptions.cs: Added new file and implemented the class.
3499
3500 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3501
3502         * HtmlTextWriterTag.cs: readded author name.
3503
3504 2004-08-04 Sanjay Gupta <gsanjay@novell.com>
3505
3506         * HtmlTextWriterAttribute.cs:
3507         * HtmlTextWriterStyle.cs: Added .Net 2.0 enumerations.
3508         * CompilationMode.cs:
3509         * ConflictOptions.cs:
3510         * DataSourceCacheExpiry.cs:
3511         * DataSourceCapabilities.cs:
3512         * DataSourceOperation.cs:
3513         * TemplateContentType.cs:
3514         * TemplateInstance.cs:
3515         * UrlTypes.cs:
3516         * VerificationConditionalOperator.cs:
3517         * VerificationReportLevel.cs:
3518         * VerificationRule.cs:
3519         * XhtmlMobileDocType.cs: Added enumerations.
3520
3521 2004-07-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3522
3523         * Control.cs: style. Reverted previous patch modification of
3524         TemplateSourceDirectory (failed when the control is reparented). Use
3525         HasControls() and Controls all over instead of _controls, as Controls
3526         property and HasControls() might be overriden.
3527
3528 2004-07-27 Alon Gazit <along@mainsoft.com>
3529
3530         * Control.cs: Changed the implementation of TemplateSourceDirectory
3531         and GetDefaultName(). replaced foreach statements with for statements, 
3532         in order to improve performence.
3533
3534 2004-07-27 Alon Gazit <along@mainsoft.com>
3535
3536         * Page.cs: changed the implementation of GetViewStateString().
3537         if the view state object is null there is no need to perform 
3538         Serialization.
3539         
3540 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3541
3542         * TemplateControl.cs: don't include private methods of base classes when
3543         auto-attaching events. Fixes bug 61569.
3544
3545 2004-07-14 Alon Gazit <along@mainsoft.com>
3546
3547         * HtmlTextWriter.cs: changed the Hashtables to case insensitive.         
3548 2004-07-08 Pablo Baena <pbaena@gmail.com>
3549
3550         * Page.cs: added workaround for __doPostBack script on Netscape 4.xx
3551         
3552 2004-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3553
3554         * Page.cs: added additional checks for saving/displaying trace data.
3555
3556         * PageParser.cs: removed checks for trace enabled in configuration
3557         files.
3558
3559 2004-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3560
3561         * ControlCollection.cs: when clearing the control collection, tell the
3562         owners about the removal. Fixes bug #60800.
3563
3564 2004-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3565
3566         * Page.cs: don't nullify _context after processing the request as there
3567         are events not triggered yet. Fixes bug #60726.
3568
3569 2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3570
3571         * HtmlTextWriter.cs: only create a closing tag for unknown tags. Fixes
3572         bug #60681.
3573
3574 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3575
3576         * PageParser.cs:
3577         * UserControlParser.cs: set the page/user control base type even when no
3578         default directive provided. Fixes bug #60572.
3579
3580 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3581
3582         * PageParser.cs: use default trace settings from web.config and check
3583         if trace is only requested for local connections. Fixes bug #60180.
3584
3585 2004-06-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3586
3587         * SimpleWebHandlerParser.cs: implemented GetCompiledTypeFromCache. When 
3588         we read the default directive, check the cache for the Type and if
3589         present, don't keep reading and store the type found.
3590
3591         * WebHandlerParser.cs:
3592         * WebServiceParser.cs: try GetCompiledTypeFromCache before actually
3593         compiling.
3594
3595 2004-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3596
3597         * Control.cs: properly fixed bug #59794.
3598
3599 2004-06-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3600
3601         * Control.cs:
3602         (ResolveUrl): fixed typo when dealing with relative urls. Closes bug
3603         #59794.
3604
3605 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3606
3607         * SimpleWebHandlerParser.cs:
3608         * TemplateParser.cs: pass the language when compiling from a file.
3609
3610 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3611
3612         * SimpleWebHandlerParser.cs: if we have a global.asax, move its
3613         reference to the end to help mcs loading the assemblies. Fixes bug
3614         #58768.
3615
3616         * TemplateParser.cs: same as above. Removed some kludges to workaround
3617         loading assemblies from bin path that are now in the runtime. Don't
3618         load the assemblies in bin if not needed, but still reference them
3619         when compiling.
3620
3621 2004-06-07  Alon Gazit <along@mainsoft.com>
3622         * Page.cs: Changed Page.ProcessPostData().
3623         After the change ,the state of controls that aren't visible is saved 
3624         during a postback.
3625         
3626 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3627
3628         * Page.cs: removed obsolete MonoTODO from RegisterOnSubmitStatement.
3629
3630 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3631
3632         * Page.cs: IsPostBack also returns true when method is GET and we have
3633         viewstate information in the query string. Fixes bug #58151.
3634
3635 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3636
3637         * Page.cs: removed obsolete TODO. Only check if Trace is enabled, not
3638         HttpRutime.TraceManager.
3639
3640         * PageParser.cs: for 'trace' we have 2 variables now.  Added support
3641         for 'buffer' attribute.
3642
3643 2004-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3644
3645         * Page.cs: implemented ClientTarget.
3646         * PageParser.cs: support for clientTarget and check for validity.
3647
3648 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3649
3650         * Control.cs:
3651         * Html32TextWriter.cs:
3652         * HtmlTextWriter.cs:
3653         * SimpleWebHandlerParser.cs:
3654         * TemplateControl.cs: Added protected missing members and attributes.
3655
3656 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3657
3658         * ObjectStateFormatter.cs: use ObjectFormatter methods instead of
3659         calling a protected method of another object.
3660
3661 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
3662
3663         * ObjectStateFormatter.cs : csc build fix. Protected Read()/Write()
3664           (of other objects) are called in TypeConverterFormatter.
3665
3666 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3667
3668         * ObjectStateFormatter.cs: before choosing the binary formatter, check
3669         if the object type has a TypeConverter that can convert to/from string.
3670         Fixes bug #59495.
3671
3672         * Page.cs: call GetViewStateString from outside the WriteLine. This
3673         allows writing to the Response when getting the string without breaking
3674         the HTML generated.
3675
3676 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3677
3678         * HtmlTextWriter.cs: render end tag for unknown tags.
3679         Patch frmo Markus Krutner. Fixes bug #59466.
3680
3681 2004-05-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3682
3683         * Page.cs: call DeterminePostBackMode only once per request. Patch by
3684         Evain Jb.
3685
3686 2004-05-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3687
3688         * Html32TextWriter.cs: stub contributed by Matthijs ter Woord
3689         [meddochat].
3690
3691         * ObjectTagBuilder.cs: remove the HasBody override as MS does not have
3692         that.
3693
3694 2004-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3695
3696         * SimpleWebHandlerParser.cs:
3697         * TemplateParser.cs: for the assembly names given in the 'assembly'
3698         attribute, use LoadWithPartialName instead of Load.
3699 2004-03-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3700
3701         * Page.cs: return HttpContext.Current if _context has not yet been
3702         assigned to. Fixes bug #55245.
3703
3704 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3705
3706         * TemplateParser.cs: don't add import statement or assemblies from
3707         global.asax to every file. Fixes bug #55496.
3708
3709 2004-03-09  Juraj Skripsky <juraj@hotfeet.ch>
3710
3711         * DataBinder.cs: allow unquoted string expressions (e.g. "[test]") and
3712         handle single quotes and a few corner cases correctly (see test cases).
3713
3714 2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3715
3716         * TemplateControl.cs: fixed typos and added new method names to the set
3717         of page events.
3718
3719 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3720
3721         * ControlBuilder.cs: added SetTagName().
3722
3723         * ObjectTagBuilder.cs: use SetTagName so that we can properly close
3724         <object> builders if the closing tag is provided.
3725
3726 2004-02-16  Jackson Harper <jackson@ximian.com>
3727
3728         * Page.cs: Set cacheability for Location.DownStream.
3729         
3730 2004-02-10  Jackson Harper <jackson@ximian.com>
3731
3732         * TemplateParser.cs: Use full path if the assembly is in the
3733         private bin directory. Patch by Gonzalo Paniagua Javier.
3734         
3735 2004-02-09  Jackson Harper <jackson@ximian.com>
3736
3737         * Page.cs: Set cacheability for server side caching.
3738         
3739 2004-01-30  Jackson Harper <jackson@ximian.com>
3740
3741         * Control.cs: Ensure that dynamically loaded controls are
3742         initialized.
3743         
3744 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3745
3746         * ApplicationFileParser.cs: check for error in directives. Use
3747         GlobalAsaxCompiler.CompileApplicationType for compiling.
3748         
3749         * ObjectTagBuilder.cs: load the Type and check for errors.
3750
3751         * TemplateParser.cs: add assemblies and imports from global.asax.
3752
3753         Now we properly create accessors for session and application objects in
3754         the application itself, pages and controls. First step for fixing
3755         bug #53387.
3756
3757 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3758
3759         * TemplateControl.cs: small speedup for WireUpautomaticEvents. Thanks
3760         to Eric Lindvall for pointing this out.
3761
3762 2004-01-15  Jackson Harper <jackson@ximian.com>
3763
3764         * TemplateParser.cs: Detect if we are parsing a control or page
3765         properly.
3766         * Page.cs: vary by params and vary by headers can be null now.
3767         
3768 2004-01-15  Martin Willemoes Hansen  <mwh@sysrq.dk>
3769
3770         * HtmlTextWriter.cs: Fixed OutputTab routine to generate correct
3771         indention.
3772
3773 2004-01-14  Jackson Harper <jackson@ximian.com>
3774
3775         * Page.cs: If we have a postback that wasn't sent through a
3776         postback script (ie user hit submit on a input type=submit) call
3777         Validate so page validation occurs. This fixes bug #52770.
3778         
3779 2004-01-14  Jackson Harper <jackson@ximian.com>
3780
3781         * Page.cs: Don't tell the response to cache anymore. This is done
3782         when the cacheability is modified by a callback. Set the cache's
3783         duration.
3784         
3785 2004-01-14  Jackson Harper <jackson@ximian.com>
3786
3787         * TemplateParser.cs: If varybyparam is set to "none" make it null
3788         so we dont get a param named null in the outputcache key.
3789         
3790 2004-01-14  Jackson Harper <jackson@ximian.com>
3791
3792         * BasePartialCachingControl.cs: Use varyby attributes in key
3793         generation.
3794         
3795 2004-01-14  Jackson Harper <jackson@ximian.com>
3796
3797         * TemplateParser.cs: Add all the outputcache attribute error
3798         messages.
3799         
3800 2004-01-13  Jackson Harper <jackson@ximian.com>
3801
3802         * TemplateParser.cs: Add VaryByControls and Shared output cache
3803         properties. These are not assigned yet.
3804         * TemplateControlParser.cs: Do not ignore the OutputCache
3805         attribute.
3806         * BasePartialCachingControl.cs: Initial implementation. Keys are
3807         still not created properly.
3808         * StaticPartialCachingControl.cs: Assign properties in base class,
3809         implement CreateControl.
3810         
3811 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3812
3813         * ApplicationFileParser.cs: adde DefaultBaseTypeName property.
3814
3815         * PageParser.cs: support validateRequest.
3816
3817         * TemplateControlParser.cs: get default values from system.web/pages
3818         section.
3819
3820         * TemplateParser.cs: added separate method for changing base type
3821         (Inherits or system.web/pages).
3822         
3823         * UserControlParser.cs: support system.web/pages defined base type.
3824
3825 2004-01-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3826
3827         * UserControl.cs: Added missing attribute, implemented method
3828         * Page.cs: Added missing attribute, implemented method
3829
3830 2004-01-10  Jackson Harper <jackson@ximian.com>
3831
3832         * Page.cs: Handle trace being enabled in the config file.
3833         
3834 2004-01-10  Jackson Harper <jackson@ximian.com>
3835
3836         * Page.cs: Save trace data before rendering it.
3837         * System.Web.dll.sources: Add TraceData.cs
3838         
3839 2004-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3840
3841         * Page.cs: removed a couple of MonoTODO on methods we're not gonna
3842         implement. Applied patch from Jan Jaros (mono-bug@jerryweb.info) to
3843         ensure that Unload event is raised. Fixes bug #52555.
3844
3845 2004-01-02  Zoltan Varga  <vargaz@freemail.hu>
3846
3847         * KeyedList.cs: 'private' is not allowed on explicit interface 
3848         implementations. Fixes 1.2 build.
3849
3850 2003-12-31  Jackson Harper <jackson@ximian.com>
3851
3852         * TemplateControlParser.cs: When registering tag prefixs make sure
3853         the file exists and throw the correct error if it does not.
3854         
3855 2003-12-25  Jackson Harper <jackson@ximian.com>
3856
3857         * Page.cs: Throw error if the session is accessed when sessions
3858         are disabled.
3859         
3860 2003-12-18  Jackson Harper <jackson@ximian.com>
3861
3862         * Page.cs: Write Trace info.
3863         
3864 2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3865
3866         * LosFormatter.cs: new ctor for 1.1. The default ctor is public.
3867         * Page.cs: added ViewStateUserKey and made RegisterclientScriptFile
3868         internal.
3869         * PageParser.cs: the ctor is public.
3870         * PartialCachingAttribute.cs: added new ctor and Shared property.
3871
3872 2003-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3873
3874         * Page.cs: assign the ErrorPage to the context if we get an exception
3875         when processing the page which only calls Unload.
3876
3877         * PageParser.cs: handle ErrorPage.
3878
3879 2003-12-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3880
3881         * ObjectStateFormatter.cs: added formatters for Unit and FontUnit, which
3882         are not [Serializable]. Fixes bug #52244.
3883
3884 2003-12-16  Jackson Harper <jackson@ximian.com>
3885
3886         * Page.cs: Render trace data when tracing is enabled.
3887         
3888 2003-12-15  Jackson Harper <jackson@ximian.com>
3889
3890         * PageParser.cs: Add Trace and Trace mode attributes.
3891         
3892 2003-12-15  Jackson Harper <jackson@ximian.com>
3893
3894         * Page.cs: Use the context trace object.
3895         
3896 2003-12-14  Alon Gazit <along@mainsoft.com>
3897         * AttributeCollection.cs: Changed AttributeCollection.Render().
3898         After the change attributes ,that their value is null, aren't 
3899         rendered.
3900
3901 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3902
3903         * Control.cs: remove a few dangling ^M, don't set values for fields
3904         that has the default value. If Visible is modified and we're tracking
3905         viewstate, save and restore it. Fixes bug #48689.
3906
3907 2003-12-11  Jackson Harper <jackson@ximian.com>
3908
3909         * Control.cs: Give null for the ID if it hasn't been explicitly
3910         set. This fixes bug #51520.
3911         
3912 2003-12-08  Jackson Harper <jackson@ximian.com>
3913
3914         * PageParser.cs: Ignore the SmartNavigation attribute for now.
3915         
3916 2003-12-05  Jackson Harper <jackson@ximian.com>
3917
3918         * DataBinder.cs (GetIndexedPropertyValue): Check if container is
3919         an IList and use a cast instead of reflection to retrieve the item
3920         if it is. Fixes bug #51759.
3921         
3922 2003-12-04  Alon Gazit <along@mainsoft.com>
3923         * Page.cs: Changed Page.ID so it will call Control.ID.
3924         Fixed Bug 51682.          
3925
3926 2003-12-02  Jackson Harper <jackson@ximian.com>
3927
3928         * Page.cs: Implemented registered array declarations. Patch by
3929         Benjamin Jemlich <pcgod@gmx.net>
3930         
3931 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3932
3933         * TemplateParser.cs: basic check for 'classname' attribute and added
3934         patch by pcgod@gmx.net for bug #51568, which fixes automatic class
3935         names for pages starting with a number.
3936
3937 2003-11-30 Ben Maurer  <bmaurer@users.sourceforge.net>
3938
3939         * LosFormatter.cs: Use ObjectStateFormatter. Pretty big size
3940         reduction.
3941
3942         * ObjectStateFormatter.cs: Comment out tracing.
3943
3944 2003-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3945
3946         * Page.cs: fixed UICulture, LCID and Culture. Set the thread
3947         [UI]Culture before processing the request.
3948
3949         * PageParser.cs: read Culture, UICulture and LCID attributes. Added
3950         properties for these. Partially contributed by Mohammad Damt.
3951
3952         Fixes bug #51511.
3953
3954 2003-11-27  Jackson Harper <jackson@ximian.com>
3955
3956         * TemplateParser.cs: Ignore aspCompat attribute. This fixes bug
3957         51434.
3958         
3959 2003-11-22 Ben Maurer  <bmaurer@users.sourceforge.net>
3960
3961         * ObjectStateFormatter.cs: Fix bug when reading small ints.
3962         Add some tracing so we can see what is going on.
3963
3964 2003-11-21  Jackson Harper <jackson@ximian.com>
3965
3966         * Page.cs: Set vary by params when cache location is Server.
3967         
3968 2003-11-21 Ben Maurer  <bmaurer@users.sourceforge.net>
3969
3970         * ObjectStateFormatter.cs: v2 file. In v1.x this will be
3971         internal as LosFormatter will eventually use it to save
3972         the view state.
3973
3974 2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3975
3976         * PersistChildrenAttribute.cs:
3977         * PersistenceModeAttribute.cs: implemented.
3978
3979         * TODO: Removed file.
3980         * OutputCacheLocation.cs:
3981         * TemplateControlParser.cs:
3982         * HtmlInputFile.cs: class status based fixes.
3983
3984 2003-11-19  Jackson Harper <jackson@ximian.com>
3985
3986         * Page.cs: Always set the cache expire time. Tell the response to
3987         cache itself for server side cached pages.
3988         
3989 2003-11-19  Jackson Harper <jackson@ximian.com>
3990
3991         * Control.cs: Remove ResolveBaseUrl. ResolveUrl does the same
3992         thing, some corner cases still need work though. Was this the
3993         shortest lived method in the history of mono?
3994         
3995 2003-11-19  Jackson Harper <jackson@ximian.com>
3996
3997         * Control.cs: New method for resolving urls that use ~/ to denote
3998         the applications base directory.
3999         
4000 2003-11-19  Jackson Harper <jackson@ximian.com>
4001
4002         * TemplateParser.cs: Fix typo in error message.
4003                 
4004 2003-11-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4005
4006         * TemplateControlParser.cs: support @Reference. Fixes bug #49572. Thanks
4007         to Sanjay Gupta.
4008
4009 2003-11-19  Todd Berman  <tberman@gentoo.org>
4010
4011         * KeyedList.cs:
4012         * KeyedListEnumerator.cs: New v2 implementations.
4013
4014 2003-11-17 Ben Maurer  <bmaurer@users.sourceforge.net>
4015
4016         * StateManagedCollection.cs: Implement.
4017
4018 2003-11-13  Jackson Harper  <jackson@ximian.com>
4019
4020         * Page.cs: Initial implementation of InitOutputCache.
4021         * TemplateParser.cs: Page OutputCache options
4022         
4023 2003-11-09 Ben Maurer  <bmaurer@users.sourceforge.net>
4024
4025         * HierarchicalDataSourceControl.cs: Implement.
4026
4027 2003-11-09 Ben Maurer  <bmaurer@users.sourceforge.net>
4028
4029         * XPathBinder.cs: Implemented.
4030
4031 2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
4032
4033         * DataSourceView.cs:
4034         * IDataSource.cs:
4035         * ListSourceHelper.cs:
4036         * DataSourceControl.cs:
4037         * HierarchicalDataSourceView.cs:
4038         * IHierarchicalDataSource.cs: Move v2 stuff.
4039
4040 2003-11-07 Jackson Harper <jackson@ximian.com>
4041
4042         * Control.cs (ResolveUrl): Special case for urls that consist of
4043         only a page anchor. ie <a href="#top">. This fixes bug #50165.
4044         
4045 2003-11-07 Ben Maurer  <bmaurer@users.sourceforge.net>
4046
4047         * IHierarchicalEnumerable.cs:
4048         * IHierarchyData.cs:
4049         * INavigateUIData.cs: New v2 interfaces.
4050         
4051 2003-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4052
4053         * Page.cs: patch by Alon Gazit <along@mainsoft.com> to remove extra
4054         space in generated javascript.
4055
4056 2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4057
4058         * LosFormatter.cs: encoding updates. 
4059         * Page.cs: implemented CodePage and ContentType.
4060         * PageParser.cs: handle CodePage, ContentEncoding and ResponseEncoding
4061         attributes.
4062
4063 2003-11-04 Ben Maurer  <bmaurer@users.sourceforge.net>
4064
4065         * Control.cs (GetWebResourceUrl): new v2 function
4066         * Page.cs (GetWebResourceUrl): ditto.
4067         make the JS we generate work with moz if the form is not a child
4068         of document.
4069         * WebResourceAttribute.cs: Added, new v2 attribute.
4070
4071 2003-10-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4072
4073         * DesignTimeTemplateParser.cs: added FIXME related to PageParser.
4074
4075         * PageParser.cs: initialize the parser in the constructor, not just
4076         before compiling and reference the application assembly.
4077
4078         * SimpleWebHandlerParser.cs: reference the assembly that contains the
4079         application Type.
4080
4081         * TemplateControl.cs:
4082         * TemplateControlParser.cs: fix BenM #1 bug. Now we pass correct virtual
4083         path and physical path when compiling a user control.
4084         
4085         * TemplateParser.cs: new AddApplicationAssembly ().
4086         * UserControlParser.cs: now we get valid values in the ctor.
4087
4088         Referencing the application assembly fixes bug #49652.
4089         
4090
4091 2003-10-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4092
4093         * TemplateControl.cs: moved NoParamsInvoker class to its own file.
4094
4095 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4096
4097         * BaseParser.cs: added CompilationConfig property.
4098
4099         * TemplateParser.cs:
4100         * SimpleWebHandlerParser.cs: added CompilationConfig property.
4101         Don't hardcode assembly names any more, assemblies in bin are added
4102         depending on the configuration. The default language is also taken
4103         from the configuration.
4104
4105 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4106
4107         * LosFormatter.cs: fixed bug #49604. Patch by yaronsh@mainsoft.com.
4108
4109 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4110
4111         * Control.cs: removed some debug lines.
4112         * Page.cs: implemented RegisterOnSubmitStatement
4113         * TemplateControl.cs: fixed wire up for methods with no parameters.
4114
4115 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4116
4117         * PageParser.cs: ignore ValidateRequest by now.
4118
4119 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4120
4121         * System.Web.UI/TemplateControl.cs: support for wiring up events without
4122         parameters.
4123
4124 2003-10-08  Pedro Martnez Juli  <yoros@wanadoo.es>
4125
4126         * PageParser.cs: drop some useless code.
4127
4128 2002-10-29  Gaurav Vaish <gvaish_mono AT lycos.com>
4129
4130         * Utils.cs   : GetScriptLocation(HttpContext) - Partial Implementation.
4131
4132 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4133
4134         * System.Web.UI/PageParser.cs:
4135         * System.Web.UI/TemplateControlParser.cs: honour the input file given
4136         as argument.
4137
4138 2003-09-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4139
4140         * Control.cs:
4141         (ClearChildViewState): doh! Don't clear control viewstate but the
4142         viewstate of possible children.
4143         (LoadViewStateRecursive): load viewstate even when control is not
4144         visible.
4145         Fixes bug #49024.
4146         The rest are just dangling ^M removed.
4147
4148         * DataBoundLiteralControl.cs:
4149         (LoadViewState): we get an object [], not a string [].
4150
4151 2003-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4152
4153         * Control.cs: implemented ClearChildViewState ().
4154
4155 2003-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4156
4157         * Page.cs: store unique IDs for controls requiring postback. Fixes bug
4158         #47985.
4159
4160 2003-09-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4161
4162         * SimpleWebHandlerParser.cs: add the ashx/asmx file itself to the
4163         dependencies so that it's recompiled when changed.
4164
4165 2003-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4166
4167         * LosFormatter.cs: fixed Deserialize for empty viewstate.
4168
4169 2003-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4170
4171         * Page.cs: check if controls that require postback have
4172         been changed by an event and register them to be notified of data
4173         changed event.
4174
4175 2003-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4176
4177         * Control.cs: patch by yaronshkop@hotmail.com (Yaron Shkop) that fixes
4178         bug #47866.
4179
4180 2003-08-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4181
4182         * LosFormatter.cs: handle Unit and FonrUnit as special cases as they
4183         are not serializable. Fixes bug #47784.
4184
4185 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4186
4187         * Control.cs: index the viewstates saved by the control position, not
4188         the control name. Fixes bug #47697.
4189
4190 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4191
4192         * ControlCollection.cs:
4193         * EmptyControlCollection.cs: create a minimum ArrayList for this.
4194
4195         * BaseParser.cs: added setter for BaseVirtualDir.
4196
4197         * Page.cs: fixed message when restoring view state fails.
4198         * UserControlParser.cs: set the BaseVirtualDirectory to handle the case
4199         when a relative path to the control is given. Fixes bug #47685.
4200
4201 2003-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4202
4203         * Control.cs: when we load the viewstate for a control that has children
4204         viewstates and the child is not found, keep its viewstate around and
4205         wait until the child is added to load the viewstate. Fixes bug #47697.
4206
4207 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4208
4209         * TemplateControl.cs: more Delegate.CreateDelegate fixes.
4210
4211 2003-08-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
4212
4213         * PartialCachingControl.cs: is not abstract
4214
4215 2003-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4216
4217         * SimpleHandlerFactory.cs: implemented GetHandler.
4218         * WebHandlerParser.cs: new file that parses .ashx files.
4219
4220 2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
4221
4222         * PersistenceModeAttribute.cs: Fixed wrong AttributeUsage
4223
4224 2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
4225
4226         * UserControl.cs: Added attribute
4227         * BasePartialCachingControl.cs: New class and paritally implemented
4228         * DesignerDataBoundLiteralControl.cs: New class and implemented
4229         * DesignTimeTemplateParser.cs:
4230         * PartialCachingControl.cs:
4231         * StaticPartialCachingControl.cs: New class and paritally implemented
4232
4233 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
4234
4235         * ApplicationFileParser.cs: Fixed signature
4236         * DesignTimeParseData.cs: Added missing properties, implemented
4237         * Page.cs: Added attributes
4238         * PageParser.cs:
4239         * TemplateControlParser.cs:
4240         * TemplateParser.cs:
4241         * UserControlParser.cs: Fixed signature
4242
4243 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
4244
4245         * HtmlControlPersistableAttribute.cs: Added
4246         * IgnoreUnknownContentAttribute.cs: Added
4247
4248 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
4249
4250         * IUserControlDesignerAccessor.cs: Added and implemented
4251         * Control.cs: Missing member added, added all attributes
4252         * Page.cs: Added attributes, fixed signature
4253         * TemplateControl.cs: Fixed signature, added all attributes
4254         * UserControl.cs: Added all attributes, added and implemented missing interface
4255         
4256 2003-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4257
4258         * ControlCollection.cs: fixed bug #46472.
4259
4260 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4261
4262         * SimpleWebHandlerParser.cs: implemented GetTypeFromBin.
4263
4264 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4265
4266         * SimpleWebHandlerParser.cs: updated to new compilation interface.
4267
4268         * TemplateParser.cs: use the new parameter when compiling.  
4269
4270 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4271
4272         * Page.cs: also keep the value for the second try on handling postback
4273         events.
4274
4275 2003-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4276
4277         * BaseParser.cs: fixed MapPath for non-rooted files.
4278         * PageParser.cs: don't pass a non-virtual file around.
4279         * TemplateControlParser.cs: InputFile uses MapPath now.  Take care of
4280         the exception teh may be throw by MapPath on an invalid path.
4281
4282         * TemplateParser.cs: removed unused method.
4283         * UserControlParser.cs: modified inputfile. The result is the same, but 
4284         this one is better.
4285
4286 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4287
4288         * RootBuilder.cs: throw exception when the tagprefix is not valid or
4289         not found.
4290
4291 2003-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4292
4293         * TemplateControlParser.cs: return after processing @Register.
4294
4295 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4296
4297         * TemplateParser.cs: Added support for server side includes.
4298
4299 2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4300
4301         * TemplateControl.cs: fixed the flags used to find the methods that
4302         are automatically hooked up on events.
4303
4304         * TemplateParser.cs: don't compile a source file directly.  Use the
4305         cache instead.
4306
4307 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4308
4309         * BaseParser.cs: Location property is now here. Added a couple of
4310         convenience methods to throw a ParseException.
4311
4312         * TemplateParser.cs:
4313         * TemplateControlParser.cs:
4314         * PageParser.cs: throw ParseException where appropiate.
4315
4316 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4317
4318         * ApplicationFileParser.cs: use the generator to actually parse the
4319         file.
4320
4321         * ControlBuilder.cs: small fix in NamingContainerType because
4322         TemplateBuilders have a null ControlType. When a control is appended
4323         to a parent, assign the child's parent.
4324
4325         * UserControlParser.cs: fixed the value of InputFile.
4326
4327 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4328
4329         * ApplicationFileParser.cs: store the Context and override
4330         BaseVirtualDir so that it's the application path.
4331
4332         * BaseParser.cs: removed CurrentVirtualPath property.
4333
4334         * TemplateControlParser.cs: use BaseVirtualDir.
4335
4336         * UserControlParser.cs: removed CurrentVirtualPath.
4337
4338 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4339
4340         * TemplateParser.cs: always reference all the assemblies in bin
4341         directory.
4342
4343 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4344
4345         * ApplicationFileParser.cs: it works now. Prior to these changes, we
4346         were using the compiler directly.
4347
4348         * BaseParser.cs: added some useful properties and methods.
4349
4350         * CodeBuilder.cs: use ILocation.
4351         * CodeRenderBuilder.cs: use ILocation.
4352         * CollectionBuilder.cs: use the RootBuilder to map tag names into Types.
4353
4354         * ControlBuilder.cs: made it useful.
4355
4356         * DataBindingBuilder.cs: the control type for data bound text is
4357         DataBoundLiteralControl now.
4358
4359         * ObjectTagBuilder.cs: store some object tag attributes.
4360
4361         * PageParser.cs: handle page-only directives.
4362
4363         * RootBuilder.cs: bah.
4364         * SimpleWebHandlerParser.cs: made it dummy.
4365         * TemplateControl.cs: Modified file.
4366
4367         * TemplateControlParser.cs: handle directives that are common to pages
4368         and user controls.
4369
4370         * TemplateParser.cs: utility methods and handling of directives that
4371         are common to app, page and user controls.
4372
4373         * UserControl.cs: added ControlBuilderAttribute.
4374
4375         * UserControlControlBuilder.cs: builder for user controls.
4376         * UserControlParser.cs: use the new interfaces.
4377
4378 2003-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4379
4380         * ControlBuilder.cs: line and fileName are protected now.
4381
4382         * CodeBuilder.cs: base class for the next 2 files.
4383         * CodeRenderBuilder.cs: builder for code render.
4384         * DataBindingBuilder.cs: builder for data binding.
4385
4386 2003-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4387
4388         * ITagNameToTypeMapper.cs: made it internal.
4389
4390         * ObjectTagBuilder.cs: builder for <object runat="server"> tag.
4391         * ObjectTag.cs:
4392         * RootBuilder.cs: initial builder.
4393
4394 2003-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4395
4396         * CollectionBuilder.cs:
4397         * TemplateBuilder.cs: new classes derived from ControlBuilder that
4398         represent a property or a ITemplate.
4399         
4400         * ControlBuilder.cs: implemented all the missing bits.
4401         * TemplateParser.cs: added mapping from tag name to Type feature.
4402
4403 2003-02-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4404
4405         * Control.cs: have i definitely fixed naming container stuff this time?
4406
4407         * LosFormatter.cs: activated binary serialization code.
4408
4409 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4410
4411         * Control.cs:
4412         (AddedControl): fixed default id assignation when the sequence of
4413         AddedControl until it's included in the page or one of its controls
4414         does not pass through a naming container.
4415
4416 2003-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4417
4418         * Control.cs: give different default names depending on the place where
4419         it is assigned. Implemented ResolveURl (no more ~ rendered in
4420         attributes!).
4421
4422 2003-02-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4423
4424         * Control.cs: when adding a control, assign default names to th
4425         children that don't have one.
4426
4427 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4428
4429         * SimpleWebHandlerParser.cs: modified to use the new parser interface.
4430
4431 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4432
4433         * Control.cs: some more tweaks to naming containers stuff.
4434         * DataBinder.cs: don't throw exception if the container is null.
4435
4436         * Page.cs: now we can render client scripts, startup scripts and hidden
4437         fields. Only render __VIEWSTATE if there is someone that will take care
4438         of it.
4439         (RaisePostBackEvents): first try the last one that required raise event,
4440         then try __EVENTTARGET.
4441
4442 2003-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4443
4444         * Control.cs: fixes in UniqueID, FindControl, AddedControl,
4445         UnloadRecursive, InitRecursive. Reduced the size of __VIEWSTATE. Made
4446         FindControl work with NamingContainers.
4447         
4448         * ControlCollection.cs: notify the parent when clearing the collection.
4449
4450         * LosFormatter.cs: Added debugging output and generate a valid
4451         viewstate even for unknown types.
4452
4453         * Page.cs: GetPostBackEventReference now uses UniqueID. Reduced
4454         viewstate.
4455
4456 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4457
4458         * Page.cs: make it fire the LoadData related events also for controls
4459         such as ImageButton, whose variable(s) in the query string are of the
4460         form ctrl_name.x and only fire them once per control.
4461
4462 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4463
4464         * DataBinder.cs:
4465         (GetPropertyValue): don't try to get the property as indexed
4466
4467 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4468
4469         * DataBinder.cs: use TypeDescriptor to get the properties and their
4470         values.
4471
4472 2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4473
4474         * Control.cs:
4475         (AddedControl): take the children to the same state of the parent.
4476         (InitRecursive): set the page of the children.
4477
4478         * Page.cs: removed one line (it's done a few lines above).
4479
4480         * UserControl.cs:
4481         (OnInit): always call InitializeAsUserControl
4482         (InitializeAsUserControl): sets the page for the control.
4483
4484 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4485
4486         * Control.cs: fixed bug #36037.
4487
4488 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4489
4490         * BaseParser.cs: a couple of path fixes to make it work
4491         when the page is not in the root directory.
4492
4493 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4494
4495         * Control.cs: fixed PreRenderRecursiveInternal. Thanks to kojoadams for
4496         reporting the bug.
4497
4498 2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4499
4500         * BaseParser.cs: use MapPath and context to locate files.
4501         * Control.cs: implemented MapPathSecure.
4502         * TemplateControl.cs: use UrlUtils to generate the path.
4503         * TemplateControlParser.cs: use the context and MapPath.
4504         * UserControl.cs: implemented MapPath.
4505         * UserControlParser.cs: added context parameter to constructor.
4506
4507 2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4508
4509         * Control.cs: implemented MapPathSecure.
4510         * Page.cs: fixed Server property.
4511
4512 2002-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4513
4514         * DataBinder.cs: try the indexer if the property is not found in
4515         GetPropertyValue ().
4516
4517 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4518
4519         * Control.cs: added AutoEventWireup internal property.
4520
4521         * Page.cs: removed page events wire up from here.
4522
4523         * TemplateControl.cs: new method WireupAutomaticEvents to hook up page
4524         and user controls events.
4525
4526         * TemplateControlParser.cs: process the options that are applicable
4527         once we have the instance of the control.
4528
4529         * TemplateParser.cs: also stores the options.
4530
4531         * UserControl.cs: hook up events before initializing the control.
4532
4533
4534 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4535
4536         * Control.cs: new method to set bindingContainer value.
4537         * TemplateControl.cs: added controls are not binding containers.
4538
4539 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4540
4541         * Control.cs: implemented TemplateSourceDirectory.
4542         * TemplateControl.cs: implemented LoadControl and LoadTemplate.
4543
4544 2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4545
4546         * UserControl.cs: fixed SetAttribute.
4547         * UserControlParser.cs: set the correct base type.
4548
4549 2002-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4550
4551         * TemplateParser.cs: fixed BaseType.
4552         * UserControlParser.cs: helper class to compile user controls.
4553
4554 2002-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4555
4556         * LosFormatter.cs: added DateTime to special types.
4557
4558 2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4559
4560         * LosFormatter.cs: added array serialization support. Disabled binary
4561         serialization and add some debugging code.
4562
4563         * StateBag.cs: the length of the list of value can be less than the
4564         length if the list of keys when remaining values are null.
4565
4566 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4567
4568         * Page.cs: return something useful in GetPostBackClientEvent.
4569
4570 2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4571
4572         * Page.cs: implemented FileDependecies and made it protected.
4573
4574 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4575
4576         * Control.cs: save control names instead of the controls
4577         themselves to the ViewState.
4578
4579         * LosFormatter.cs: added support for serializing unknown
4580         types. BinaryFormatter does not work so you better don't store anything
4581         of unknown Type in ViewState.
4582
4583         * Page.cs: GetViewStateString works now using LosFormatter.
4584         Complete "Control execution lifecycle" by unloading all the child
4585         controls. Check for null in RaisePostBackEvents.
4586         LoadPageViewStateFromPersistenceMedium uses LosFormatter too.
4587
4588 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4589
4590         * DataBinder.cs: implemented Eval and GetIndexedPropertyValue methods.
4591
4592 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4593
4594         * LosFormatter.cs: Use WebEncoding.Encoding.
4595
4596         * Control.cs:
4597         * Page.cs: fixed namespace.
4598
4599 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4600
4601         * Page.cs: set the context in ProcessRequest. Added a few trace calls.
4602         * Control.cs: added some trace information.
4603
4604 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4605
4606         * SimpleHandlerFactory.cs: new handler for .ashx files.
4607
4608 2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4609
4610         * System.Web.UI/PageHandlerFactory.cs: new file.
4611         * System.Web.UI/PageParser.cs:
4612         * System.Web.UI/TemplateControlParser.cs: we are now able to compile
4613         pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest.
4614
4615 2002-09-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4616
4617         * Control.cs: implemented ObBubbleEvent.
4618         * Page.cs: temporary workaround to make POST work with xsp server.
4619
4620 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4621
4622         * Page.cs: fixed InvokeEventMethod now that Type.GetMethod does not
4623         return pvt methods.
4624
4625 2002-09-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4626
4627         * SimpleWebHandlerParser.cs: New file.
4628         * WebServiceParser.cs: New file.
4629
4630 2002-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4631
4632         * LosFormatter.cs: almost fully implemented.
4633
4634 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4635
4636         * CompiledTemplateBuilder.cs: InstantiateIn is virtual.
4637         * EmptyControlCollection.cs: throw correct exception.
4638         * LosFormatter.cs: stubbed out.
4639         * OutputCacheLocation.cs: little fix.
4640
4641 2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4642
4643         * System.Web.UI/ApplicationFileParser.cs:
4644         * System.Web.UI/BaseParser.cs:
4645         * System.Web.UI/PageParser.cs:
4646         * System.Web.UI/TemplateControl.cs:
4647         * System.Web.UI/TemplateControlParser.cs:
4648         * System.Web.UI/TemplateParser.cs: first steps to move xsp into
4649         System.Web.
4650
4651 2002-07-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4652
4653         * Page.cs: request to render postback script can be after form started
4654         rendering.
4655
4656 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4657
4658         * Page.cs: added more page events to invoke automagically if some
4659         methods are defined.
4660
4661 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4662
4663         * Control.cs:
4664         (SaveViewState): save state even when control is not visible.
4665         (SaveViewStateRecursive):
4666         (LoadViewStateRecursive): made internal.
4667
4668 2002-07-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4669
4670         * Page.cs: improved event raising to allow client postback for a wider
4671         variety of actions (clicking an hyperlink, ...).
4672
4673 2002-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4674
4675         * UserControl.cs: implemented Load/SaveViewState.
4676
4677 2002-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4678
4679         * AttributeCollection.cs:
4680         (Add): handle 'style' through styleCollection.
4681
4682         * CssStyleCollection.cs:
4683         (fillStyle): renamed to FillStyle and made it internal.
4684
4685         * Page.cs:
4686         (GetViewStateString): fixed, broken after other recent changes.
4687         (ProcessPostData): allow a second try for postback data after OnLoad.
4688         (ProcessRequest): clear controls collection, removed call to 
4689         UnloadRecursive.
4690
4691 2002-07-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4692
4693         * Control.cs: uncommented Dispose.
4694
4695         * Page.cs:
4696         (DeterminePostBackMode): more checkings.
4697         (GetPostBackClientHyperLink): implemented.
4698         (GetPostBackEventReference): added some comments with the HTML that MS
4699         generates for that.
4700         (ProcessRequest): fixed processing order. The page is unloaded after
4701         a request and regenerated from view state on subsequents posts.
4702
4703 2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4704
4705         * Control.cs: fixed related to ViewState. Added RemovedControl.
4706
4707         * ControlCollection.cs: notify owner of control removal.
4708         
4709         * CssStyleCollection.cs: almost rewritten to make it render the style
4710         attribute after changes to it.
4711
4712         * Page.cs: follow the guidelines in 'Control execution lifecycle'.
4713         Removed Xml code.
4714
4715         * StateBag.cs: don't use IDictionary.GetEnumerator on the
4716         HybridDictionary: it makes the program give an InvalidCastException at
4717         runtime. Why?
4718
4719 2002-07-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4720
4721         * Page.cs: fire Init and Load events for all children.
4722
4723 2002-07-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4724
4725         * UserControl.cs: New file.
4726
4727 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4728
4729         * ControlBuilderAttribute.cs: finished implementation.
4730
4731 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4732
4733         * ConstructorNeedsTagAttribute.cs: the default constructor sets the
4734         property to false.
4735
4736 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4737
4738         * System.Web.UI/AttributeCollection.cs: added CssStyleCollection.
4739
4740         * System.Web.UI/CssStyleCollection.cs: use a StateBag instead of a
4741         Hashtable. Added internal .ctor.
4742
4743         * System.Web.UI/DataBinding.cs: propertyType is a Type. Implemented
4744         Equals and GetHashCode.
4745
4746         * System.Web.UI/DataBoundLiteralControl.cs:
4747         (LoadViewState):
4748         (SaveViewState): implemented.
4749
4750         * System.Web.UI/Page.cs: FileDependencies is not public.
4751
4752         * System.Web.UI/ParseChildrenAttribute.cs: give a value to Default.
4753         (GetHashCode):
4754         (Equals):
4755         (IsDefaultAttribute): implemented.
4756
4757 2002-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4758
4759         * Control.cs: fixed Visible property.
4760         * Page.cs: fixed GetViewStateString.
4761
4762 2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4763
4764         * System.Web.UI/Page.cs:
4765         (GetViewStateString): new function to give the server access to the
4766         generated view state string.
4767         (Validate): d'oh!
4768
4769 2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4770
4771         * Control.cs:
4772         (SaveViewstateRecursive): implemented.
4773         (SaveViewState): fixed.
4774         (IParserAccessor.AddParsedSubObject): don't use 'this'.
4775
4776         * Page.cs: added code to save view state to an xml file.  It's not
4777         being used right now.
4778
4779 2002-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4780
4781         * System.Web.UI/LiteralControl.cs: 
4782         Fixes based on class status page:
4783         
4784                 - Add attributes (DefaultEvent, ParseChildren).
4785                 - Fix declarations.
4786                 - Explicitly implement some interfaces (IPostBackDataHandler
4787                 and IPostBackEventHandler).
4788                 - Implemented some missing methods.
4789
4790 2002-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4791
4792         * Control.cs: reimplemented FindControls.
4793
4794         * Page.cs:
4795         (.ctor): set the page for this control.
4796         (IsPostBack): return valid value.
4797         (DeterminePostBackMode): finished.
4798         (OnFormRender): render __VIEWSTATE (uses GetTypeHashCode()).
4799         (ProcessPostData): implemented. Raises change and postback events.
4800         (ProcessRequest): changed to support reuse of the instance.
4801         (RegisterRequiresPostBack): implemented.
4802
4803         * ValidatorCollection.cs: implemented all methods.
4804
4805 2002-06-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4806
4807         * Control.cs:
4808         * Page.cs: first attemp to save view state.
4809
4810         * HtmlForm.cs: don't render Action.
4811
4812 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4813
4814         * Page.cs: implemented more properties using information we already
4815         have in Context.
4816         (OnFormRender):
4817         (OnFormPostRender):
4818         (VerifyRenderingInServerForm): implemented.
4819
4820 2002-06-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4821
4822         * Page.cs: changed InvokeEventMethod to use a GetMethod that works with
4823         out runtime. Renamed Page_Init and Page_Load.
4824
4825         After this, we can load a dll and render HTML in linux.
4826
4827 2002-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4828
4829         * Control.cs:
4830         (AddedControl): new function that is called whenever a control is
4831         added to a collection of controls in a container. It sets the defaults
4832         except for Page.
4833         
4834         * ControlCollection.cs: call AddedControl in Add/AddAt.
4835
4836         * DataBoundLiteralControl.cs: implemented constructor, Text, Render,
4837         SetStaticString and SetDataBoundString.
4838
4839         * Page.cs: removed SetDefaults.
4840
4841 2002-06-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4842
4843         * CompiledTemplateBuilder.cs: new file. Used in the code generated
4844         by xsp.
4845
4846         * Control.cs:
4847         (BindingContainer): implemented.
4848         (EnsureChildControls): avoid stack overflow.
4849
4850         * DataBinder.cs: implemented Eval and PropertyValue.
4851
4852 2002-06-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4853
4854         * HtmlTextWriter.cs: fixed style attributes rendering (almost the same
4855         bug as in regular attributes).
4856
4857 2002-06-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4858
4859         * Control.cs: implemented PreventAutoID.
4860
4861         * Page.cs:
4862         (SetDefaults): don't set ID automatically if Control.PreventAutoID has
4863         been called.
4864
4865 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4866
4867         * Page.cs:
4868         (Validators): if the collection is null, create one.
4869         (GetPostBackEventReference 2): don't throw exception.
4870         (GetPostBackClientEvent): return a string with containing the method
4871         name, the control name and the argument.
4872
4873 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4874
4875         * Page.cs: SetPage is now called SetDefaults and also sets a default 
4876         ID for controls that don't have one yet.
4877
4878 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4879
4880         * Page.cs:
4881         (GetPostBackClient):
4882         (RegisterRequiresPostBack): don't throw NotImplementedException to
4883         keep going.
4884         (ProcessRequest): set the current page as the Page property for *all*
4885         the controls, not just the direct children of the page.
4886
4887 2002-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4888
4889         * Control.cs:
4890         (MapPathSecure): until security is implemented, return the same path
4891         received as argument.
4892         (RenderControl): call OnPreRender before rendering the control. So
4893         AdRotator can read its configuration file.Is there any other place
4894         where this should be done?
4895
4896         * HtmlTextWriter.cs:
4897         (AddAttribute): fixed. Now it really stores attributes.
4898         (RenderBeginTag): fixed a couple of bugs (little ones but hard to find).
4899
4900 2002-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4901
4902         * ControlCollection.cs:
4903         (AddAt): if index is -1 behave as a plain Add.
4904
4905 2002-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4906
4907         * Page.cs: for each child control to render, assign Control.Page.
4908         Probably also needed in HtmlContainerControl derived classes.
4909         
4910 2002-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4911
4912         * AttributeCollection.cs: don't need a Hastable. StateBag now works 
4913         fine and takes care of the details.
4914
4915         * Control.cs: added HasChildren property.
4916
4917         * StateBag.cs: fixed a couple of nasty bugs.
4918
4919 2002-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4920
4921         * Page.cs: run OnInit, OnLoad y PreRender before rendering the page.
4922         Invoke Page_Init and/or Page_Load if the user supplied them (though 
4923         this should depend on AutoEventWireUp attribute of Page directive).
4924
4925 2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4926
4927         * Control.cs: don't throw exception in ControlID. By now, it returns ID.
4928
4929         * Page.cs: 
4930         (ProcessRequest): implemented.
4931
4932 2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4933
4934         * System.Web.UI/Page.cs: finished stubbing out. Implemented some
4935         methods.
4936
4937 2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4938
4939         * Page.cs:
4940         (FileDependencies): now is public public.
4941         (EnableViewStateMAC): uncommented and made protected. 
4942         (GetTypeHashCode): added method.
4943         
4944 2002-05-24  Duncan Mak  <duncan@ximian.com>
4945
4946         * TemplateControl.cs (SetStringResourcePointer): Fixed typo.
4947
4948         * StateBag.cs (Item): Changed the visibility level of the this
4949         [object] indexer.
4950
4951         Misc. formatting edits, fixing some bugs introduced by the indentation.
4952
4953         * DataBinder.cs (Eval)
4954         (GetIndexedPropertyValue)
4955         (GetPropertyValue): Fixed return types.
4956
4957 2002-05-21  Miguel de Icaza  <miguel@ximian.com>
4958
4959         * HtmlTextWriter.cs: Use this to change the member instances.
4960
4961 2002-05-17  Duncan Mak  <duncan@ximian.com>
4962
4963         * AttributeCollection.cs: 
4964         * ControlCollection.cs: 
4965         * CssStyleCollection.cs: 
4966         * DataBindingCollection.cs: 
4967         * EmptyControlCollection.cs: Added missing Collection classes.
4968
4969 2002-05-17  Duncan Mak  <duncan@ximian.com>
4970
4971         * BaseParser.cs:
4972         * TemplateParser.cs:  Implemented. BaseParser is weird because
4973         there is no documentation on what it does.
4974
4975         * ControlBuilder.cs:
4976         
4977         * DataBinder.cs: 
4978         * DataBinding.cs: Added. 
4979
4980         * DataBoundLiteralControl.cs: 
4981         * Triplet.cs: Added.
4982
4983         * RenderMethod.cs: Added this delegate for Control.cs
4984
4985 2002-05-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4986
4987         * ValidationPropertyAttribute.cs: a couple of fixes to make it compile.
4988
4989 2002-05-14  Duncan Mak  <duncan@ximian.com>
4990
4991         * ValidationPropertyAttribute.cs: Added to CVS.
4992
4993 2002-05-10  Duncan Mak  <duncan@ximian.com>
4994
4995         * ConstructorNeedsTagAttribute.cs: 
4996         * ControlBuilderAttribute.cs: 
4997         * ImageClickEventArgs.cs: 
4998         * ParseChildrenAttribute.cs: 
4999         * PartialCachingAttribute.cs: 
5000         * PersistChildrenAttribute.cs: 
5001         * PersistenceModeAttribute.cs: 
5002         * TemplateContainerAttribute.cs: Added to CVS.
5003
5004         * PersistanceMode.cs: Removed, fixed typo.
5005         * PersistenceMode.cs: Replacing above.
5006
5007         * StateBag.cs (this): Fixed indexer, it takes a string as the
5008         index, not an object.
5009
5010         * ValidatorCollection.cs: Fixed typo, ValidatedCollection to ValidatorCollection. 
5011
5012         * Page.cs (Validators): return type should be ValidatorCollection,
5013         not ValidatedCollection.
5014
5015         * TagPrefixAttribute.cs: Added to CVS.
5016
5017 2002-05-07  Duncan Mak  <duncan@ximian.com>
5018
5019         * Utils.cs (GetClientValidatedEvent): Uncommented the 'Page' argument.
5020
5021 2002-03-26   Gaurav Vaish <gvaish@iitk.ac.in>
5022
5023         * DataBindingHandlerAttribute.cs
5024                                    - Completed
5025         * ToolboxDataAttribute.cs  - Completed
5026
5027 2002-01-03  Nick Drochak  <ndrochak@gol.com>
5028
5029         * DesignTimeParseData.cs: initialze static member to avoid compile
5030         error
5031         * PropertyConverter.cs: remove uneeded exception variables from
5032         catch blocks.
5033
5034 2002-01-02  Nick Drochak  <ndrochak@gol.com>
5035
5036         * DesignTimeParseData.cs: fix header to show correct class name
5037
5038 2001-12-21   Gaurav Vaish <gvaish@iitk.ac.in>
5039
5040         * StateBag.cs             - Completed
5041
5042 2001-12-19   Gaurav Vaish <gvaish@iitk.ac.in>
5043
5044         * Pair.cs                 - Small undocumented class. Completed.
5045
5046 2001-12-18   Gaurav Vaish <gvaish@iitk.ac.in>
5047
5048         * DesignTimeParseData.cs  - Initial implementation
5049         * StateBag.cs             - Initial implementation
5050
5051 2001-12-17   Gaurav Vaish <gvaish@iitk.ac.in>
5052
5053         * PropertyConverter.cs    - Undocumented class. Completed.
5054         * Utils.cs                - Undocumented, private class.
5055                                     Initial implementation
5056
5057 2001-08-28  Bob Smith  <bob@thestuff.net>
5058         * Control.cs: Figured out some undocumented API.
5059         * Added TODO.
5060         * BuildMethod.cs: Initial implementation.
5061         * BuildTemplateMethod.cs: Initial implementation.
5062         * HtmlTextWriterAttribute.cs: Initial implementation.
5063         * HtmlTextWriterStyle.cs: Initial implementation.
5064         * HtmlTextWriterTag.cs: Initial implementation.
5065         * IAttributeAccessor.cs: Initial implementation.
5066         * IDataBindingsAccessor.cs: Initial implementation.
5067         * ImageClickEventHandler.cs: Initial implementation.
5068         * INamingContainer.cs: Initial implementation.
5069         * IParserAccessor.cs: Initial implementation.
5070         * IPostBackDataHandler.cs: Initial implementation.
5071         * IPostBackEventHandler.cs: Initial implementation.
5072         * IStateManager.cs: Initial implementation.
5073         * ITagNameToTypeMapper.cs: Initial implementation.
5074         * ITemplate.cs: Initial implementation.
5075         * IValidator.cs: Initial implementation.
5076         * OutputCacheLocation.cs: Initial implementation.
5077         * PersistanceMode.cs: Initial implementation.
5078         * StateItem.cs: Initial implementation.
5079
5080 2001-08-27  Bob Smith  <bob@thestuff.net>
5081
5082         * Control.cs: Bug fixes and implementations.
5083
5084 2001-08-24  Bob Smith  <bob@thestuff.net>
5085
5086         * Control.cs: Bug fixes.
5087
5088 2001-08-23  Bob Smith  <bob@thestuff.net>
5089
5090         * Control.cs: More implementation. Events reworked for performance.
5091
5092 2001-08-22  Bob Smith  <bob@thestuff.net>
5093
5094         * LiteralControl.cs: Implemented.
5095         * Control.cs: Even more implementation (Events). What a beast.
5096
5097 2001-08-20  Bob Smith  <bob@thestuff.net>
5098
5099         * Control.cs: More implementation. Not done yet. Shutter.
5100
5101 2001-08-17  Bob Smith  <bob@thestuff.net>
5102
5103         * Control.cs: Partial implementation.