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