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