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