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