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