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