* ObjectStateFormatter.cs: Avoid NRE in Serialize. Fixes bug #81851.
[mono.git] / mcs / class / System.Web / System.Web.UI / ChangeLog
1 2007-06-15  Gert Driesen  <drieseng@users.sourceforge.net>
2
3         * ObjectStateFormatter.cs: Avoid NRE in Serialize. Fixes bug #81851.
4
5 2007-06-09  Marek Habersack  <mhabersack@novell.com>
6
7         * TemplateControl.cs: make sure TemplateControl is set to the
8         current control.
9
10         * Control.cs: TemplateControl property goes up the parent chain if
11         the property isn't defined in the current control.
12         TemplateSourceDir finally implemented correctly.
13
14 2007-06-06  Marek Habersack  <mhabersack@novell.com>
15
16         * Control.cs: more changes to the way TemplateSourceDirectory
17         works in the 2.0 profile. Take into account situations when a
18         control is placed in a UserControl (.ascx) and only then fall back
19         to the parent for its TemplateSourceDirectory.
20
21 2007-06-05  Marek Habersack  <mhabersack@novell.com>
22
23         * Control.cs: TemplateSourceDirectory uses TemplateControl to
24         lookup the virtual source directory in the 2.0 instead of the
25         Parent.
26         ResolveClientUrl copes with empty TemplateSourceDirectory in the
27         correct way now - the check is made after the basePath checks.
28         The changes above make ResolveClientUrl work properly when called
29         from within a control residing in a TemplateControl.
30
31 2007-05-30  Vladimir Krasnov  <vladimirk@mainsoft.com>
32
33         * HtmlTextWriter.cs: EncodeAttributeValue should call 
34         HtmlAttributeEncode as documented
35
36 2007-05-24  Marek Habersack  <mhabersack@novell.com>
37
38         * PageParser.cs: added support for the PreviousPageType
39         directive.
40
41 2007-05-23  Marek Habersack  <mhabersack@novell.com>
42
43         * TemplateParser.cs: use VirtualPathUtility.Combine to properly
44         create the custom control's virtual path.
45
46 2007-05-22  Marek Habersack  <mhabersack@novell.com>
47
48         * TemplateBuilder.cs: in the absence of containerAttribute,
49         default to two-way binding direction.
50
51 2007-05-21 Igor Zelmanovich <igorz@mainsoft.com>
52
53         * DataSourceView.cs: refactoring: Update, Insert methods:
54         exception is re-thrown from catch scope. 
55         It allows actual call stack be shown    
56
57 2007-05-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
58
59         * TemplateControl.jvm.cs: refactored key for CachedString method
60
61 2007-05-16  Vladimir Krasnov  <vladimirk@mainsoft.com>
62
63         * HtmlTextWriter.cs: refactoring, created hashtables for tags, styles
64         and attributes arrays, that gives performance improvement in GetTagKey
65         GetStyleKey and GetAttributeKey methods
66
67 2007-05-15  Marek Habersack  <mhabersack@novell.com>
68
69         * TemplateControl.cs: implemented the 3-parameter overloads of
70         GetLocalResourceObject and GetGlobalResourceObject.
71
72         * TemplateParser.cs: refactoring - use HttpApplication.LoadType to
73         actually look up types.
74         
75         * ControlBuilder.cs: as above   
76
77 2007-05-14  Marek Habersack  <mhabersack@novell.com>
78
79         * ClientScriptManager.cs: put the hidden field within a <div>, the
80         way MS.NET does it.
81
82 2007-05-11  Gert Driesen  <drieseng@users.sourceforge.net>
83
84         * ControlBuilder.cs: Fixed exception message in MapType.
85
86 2007-05-10  Marek Habersack  <mhabersack@novell.com>
87
88         * Control.cs: small formatting change
89
90 2007-05-10 Igor Zelmanovich <igorz@mainsoft.com>
91
92         * Page.cs: ExecuteRegisteredAsyncTasks:
93         implimentation for TARGET_JVM doesn't use WaitHandle.WaitAll, but WaitOne
94
95 2007-05-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
96
97         * HtmlTextWriter.cs: used classes instead of sctrucs in TARGET_JVM for
98         AddedTag, AddedStyle and AddedAttr members
99         * TemplateControl.jvm.cs: refactored CachedString method
100
101 2007-05-09  Marek Habersack  <mhabersack@novell.com>
102
103         * CollectionBuilder.cs: formatting changes
104
105         * ControlBuilder.cs: if a control enables children as properties,
106         has a default property and parser encounters a child tag/container
107         with the default property name, discard the default property
108         builder in order to avoid invalid sub builder invocation. An
109         example is: <asp:DropDownList><Items></Items></asp:DropDownList>
110         Formatting changes.
111         When checking for empty string, use Length not comparison with ""
112         
113 2007-05-08  Marek Habersack  <mhabersack@novell.com>
114
115         * CssStyleCollection.cs: put the style in the bag each time a key
116         is set, otherwise resetting of a key has no effect on rendered
117         style.
118
119 2007-05-07  Marek Habersack  <mhabersack@novell.com>
120
121         * TemplateParser.cs: added support for implicit language
122         detection. If the language isn't set explicitly in the Page
123         directive, the language value taken from the configuration
124         considered to be implicit - that is, it can be overwritten by the
125         first <script> with the runat="server" and language="xx" sets the
126         language for the parser. This makes it possible to have the
127         default language set to "C#" and the inline code in, e.g.,
128         VisualBasic. 
129
130         * ControlBuilder.cs: when mapping types, catch casses of missing
131         original and mapped types.
132         If mapped type doesn't derive from the original type, throw an
133         exception. Fixes bug #81553.
134
135 2007-05-04  Marek Habersack  <mhabersack@novell.com>
136
137         * Control.cs: added an internal method to resolve a physical path
138         to a file from its virtual path considering the possibility that a
139         control is placed in a master page, which in turn is referenced
140         from a directory another than that of master page itself.
141
142 2007-05-03 Igor Zelmanovich <igorz@mainsoft.com>
143
144         * AttributeCollection.cs:
145         * DataBindingHandlerAttribute.cs:
146         * HtmlTextWriter.cs:
147         * PartialCachingControl.cs:
148         * TemplateControl.cs:
149         * TemplateControl.jvm.cs:
150         * XPathBinder.cs:                                               
151         added missing API.      
152
153 2007-05-03 Igor Zelmanovich <igorz@mainsoft.com>
154
155         * CssStyleCollection.cs: optimization:
156         used StringBuilder instead string to hold value.
157         When added key that not exists in collection, value is recalculated by 
158         appending required key to existing value.       
159
160 2007-05-02 Igor Zelmanovich <igorz@mainsoft.com>
161
162         * Control.cs: ResolveClientUrl: optimization.
163         if basePath is the same as TemplateSourceDirectory 
164         releativeUrl is returned as is.
165
166 2007-05-02 Igor Zelmanovich <igorz@mainsoft.com>
167
168         * Control.cs:
169         ResolveClientUrl considers TemplateSourceDirectory property.
170
171 2007-05-01  Marek Habersack  <mhabersack@novell.com>
172
173         * PageParser.cs: clientTarget comparisons must be case-insensitive
174
175 2007-04-30 Konstantin Triger <kostat@mainsoft.com>
176
177         * DataBinder.cs: When formatting, threat empty string as null.
178
179 2007-04-27  Marek Habersack  <mhabersack@novell.com>
180
181         * TemplateControlParser.cs: 2.0 allows 'Namespace' without the
182         'Assembly' attribute on tag prefix registration.
183
184         * TemplateParser.cs: do not rely on assembly name being not null.
185
186 2007-04-19  Gert Driesen  <drieseng@users.sourceforge.net>
187
188         * TemplateParser.cs: On 2.0 profile, allow namespace in ClassName
189         attribute. Fixes part of bug #81399.
190
191 2007-04-11  Marek Habersack  <mhabersack@novell.com>
192
193         * Page.cs: check whether control passed to
194         RegisterRequiresPostBack implements the IPostBackDataHandler
195         interface.
196
197 2007-04-06  Marek Habersack  <mhabersack@novell.com>
198
199         * ClientScriptManager.cs: render the 'type' attribute in
200         WriteScript and do not render the 'language' attribute when in
201         NET_2_0+ mode.
202
203         * Page.cs: defaults for ViewStateEncrptionMode and AsyncTimeout
204         are read from the pages section, if found.
205
206         * TemplateControlParser.cs: added support for loading
207         pages/controls defaults from web.config even if the page/control
208         does not have its corresponding directive.
209         Added support for reading the CompilationMode attribute.
210
211         * PageParser.cs: added support for loading pages/controls defaults
212         as above. Fixes bug #80915.
213         Added support for reading the maxPageStateFieldLength setting.
214         Added support for reading the pageParserFilter setting.
215         
216         * ControlBuilder.cs: allow tag mappings from code found 
217         in bin/* or App_Code/*. Fixes bug #80811.
218
219 2007-03-29  Vladimir Krasnov  <vladimirk@mainsoft.com>
220
221         * TemplateControl.jvm.cs: performance improvement, added cache for
222         methods and events in user code
223
224 2007-03-26  Marek Habersack  <mhabersack@novell.com>
225
226         * TemplateControl.cs: make local resources work with master
227         pages - use the AppRelativeVirtualPath for resource resolution.
228
229         * TemplateParser.cs: support the meta:resourcekey attribute in
230         Page and Control directives. Fixes bug #81204.
231
232 2007-03-21  Marek Habersack  <mhabersack@novell.com>
233
234         * UnknownAttributeDescriptor.cs: an internal helper class for
235         custom directive attributes support.
236
237         * BaseParser.cs: ThrowParseException can now take variadic
238         parameters, for convenience.
239
240         * TemplateParser.cs: add support for custom attributes for the
241         Page and Control directives.
242         Added support for the CodeFileBaseClass directive. Fixes bug #81132
243
244 2007-03-20 Igor Zelmanovich <igorz@mainsoft.com>
245
246         * Control.cs: fixed ResolveClientUrl method.
247
248 2007-03-18  Marek Habersack  <mhabersack@novell.com>
249
250         * BaseParser.cs: fix BaseVirtualDir to always return app-absolute
251         paths.
252
253 2007-03-17  Marek Habersack  <mhabersack@novell.com>
254
255         * MasterPageParser.cs: remove superfluous #ifdef
256
257         * TemplateParser.cs: use VirtualPathUtility here
258
259 2007-03-14  Vladimir Krasnov  <vladimirk@mainsoft.com>
260
261         * TemplateControl.jvm.cs: fixed WireupAutomaticEvents, performance
262         optimization
263
264 2007-03-13  Marek Habersack  <mhabersack@novell.com>
265
266         * TemplateParser.cs: name generated classes the same way MS.NET
267         does - include the app-relative path to the control/page in the
268         class name.
269
270 2007-03-13  Adar Wesley <adarw@mainsoft.com>
271
272         * Page.cs: improved Async Page implementation.
273
274 2007-03-13  Marek Habersack  <mhabersack@novell.com>
275
276         * TemplateControl.cs: implement AppRelativeVirtualPath. Closes bug
277         #80634.
278
279 2007-03-12  Marek Habersack  <mhabersack@novell.com>
280
281         * RootBuilder.cs: change the error text to be less misleading.
282
283 2007-03-12 Igor Zelmanovich <igorz@mainsoft.com>
284
285         * AttributeCollection.cs:
286         * CssStyleCollection.cs: fixed: works w/o state bag.    
287
288 2007-03-12 Igor Zelmanovich <igorz@mainsoft.com>
289
290         * HtmlTextWriter.cs: fixed:
291         - Fixed writing background-image style attribute (different behavior in
292         1.1 and 2.0).
293         - Does not encode 'name' attribute.
294         - Always encode style attributes (for 2.0 only).
295
296 2007-03-06  Adar Wesley <adarw@mainsoft.com>
297
298         * Page.cs: initial implementation of support for Async=true.  Added 
299         initial support for ViewStateEncryption.  Implemented 
300         CreateHtmlTextWriterFromType.
301         
302         * PageAsyncTask.cs: Created class to support Async pages.
303
304         * ObjectStateFormatter.cs: Added support for ViewState encryption.
305
306         * HtmlTextWriter.cs: Fixed constructor to accept null TextWriter
307         to conform to MS behavior.
308
309 2007-03-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
310
311         * Control.jvm.cs: fixed TemplateSourceDirectory property
312
313 2007-03-03  Marek Habersack  <mhabersack@novell.com>
314
315         * TemplateParser.cs: support but ignore the Async and AsyncTimeOut
316         page directive attributes.
317         Support the LinePragmas page directive attribute.
318
319         * PageParser.cs: added support for the
320         MaintainScrollPositionOnPostBack page directive attribute.
321
322 2007-02-26 Igor Zelmanovich <igorz@mainsoft.com>
323
324         * TemplateControl.cs:
325         * TemplateControl.jvm.cs: fixed: AutoEventWireup feature: 
326         Method 'Page_XXX' is declared in the base class must be 
327         called even is private.
328
329 2007-02-26  Vladimir Krasnov  <vladimirk@mainsoft.com>
330
331         * Control.cs: fixed AppRelativeTemplateSourceDirectory property, should
332         not return AppRelativeTemplateSourceDirectory of master page
333
334 2007-02-26 Igor Zelmanovich <igorz@mainsoft.com>
335
336         * ClientScriptManager.cs: fixed: GetScriptLiteral escapes back-slash:
337
338 2007-02-22 Igor Zelmanovich <igorz@mainsoft.com>
339
340         * TemplateControl.cs: added missing property AppRelativeVirtualPath
341
342 2007-02-21 Konstantin Triger <kostat@mainsoft.com>
343
344         * TemplateParser.cs: remove CodeGenerator.IsValidLanguageIndependentIdentifier
345                 check from Global.asax inherits attribute to let inherits="A.B" construct.
346
347 2007-02-20 Igor Zelmanovich <igorz@mainsoft.com>
348
349         * ObjectStateFormatter.cs:
350         optimization for serialization of primitive type arrays 
351
352 2007-02-19 Igor Zelmanovich <igorz@mainsoft.com>
353
354         * ClientScriptManager.cs:
355         * Control.cs:                    
356         * Page.cs:
357         implemented PostBackOptions.TrackFocus feature. 
358
359 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
360
361         * Page.cs: for 2.0: refactoring:
362         prepare infrastructure for Form.SubmitDisabledControls feature   
363
364 2007-02-18  Eyal Alaluf <eyala@mainsoft.com>
365
366         * Control.jvm.cs, Control.cs: Move TemplateSourceDirectory to .jvm file.
367         * Control.jvm.cs, Page.jvm.cs: Centralize Portlet specific API in Page.jvm
368         * Page.cs, Page.jvm.cs, ClientScriptManager.cs: Support for Http callbacks
369           for J2EE portlets.
370
371 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
372
373         * Page.cs: for 2.0: 
374         '__EVENTTARGET' and '__EVENTARGUMENT' hidden fields are 
375         registered only once.   
376
377 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
378
379         * Page.cs: for 2.0: '__doPostBack' declared as function of form.
380         convention to use 'currForm' instead 'myForm'   
381
382 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
383
384         * Page.cs:
385         * ClientScriptManager.cs:
386         including 'webform.js' requires '__doPostBack' on the form be rendered.  
387
388 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
389
390         * Page.cs:
391         * ClientScriptManager.cs:
392         refactoring: 'theForm' variable is always declared on client. 
393         '__EVENTTARGET' and '__EVENTARGUMENT' hidden fields is rendered using 
394         RegisterHiddenField API. 'WebForm_OnSubmit' declared as function of form.       
395
396 2007-02-14  Vladimir Krasnov  <vladimirk@mainsoft.com>
397
398         * Page.cs: fixed OnInit, adding css should throw exception if no header
399         present on the page
400
401 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
402
403         * Page.cs: __doPostBack considers 2.0 features 
404         such RegisterOnSubmitStatement
405
406 2007-02-14 Igor Zelmanovich <igorz@mainsoft.com>
407
408         * Page.cs:
409         * ClientScriptManager.cs:
410         implemented RegisterOnSubmitStatement for 2.0   
411
412 2007-02-13 Igor Zelmanovich <igorz@mainsoft.com>
413
414         * ClientScriptManager.cs: EventValidation feature optimization on Callback.
415
416 2007-02-13 Igor Zelmanovich <igorz@mainsoft.com>
417
418         * Page.cs: fixed exception handling on Callback at client.
419
420 2007-02-08  Marek Habersack  <grendello@gmail.com>
421
422         * Page.cs: Make sure to create specific cultures.
423
424 2007-02-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
425
426         * ClientScriptManager.cs: added array declaration also as member of
427         form in TARGET_J2EE for j2ee portal support. 
428         Added validators context init for GetClientValidationEvent under
429         TARGET_J2EE for j2ee portal support.
430         * Page.cs: fixed OnFormPostRender, render array declarations after
431         postback script.
432         
433 2007-02-04 Igor Zelmanovich <igorz@mainsoft.com>
434
435         * Page.cs:
436         * ClientScriptManager.cs:
437         client scripts (webform.js, callback.js and 
438         MaintainScrollPositionOnPostBack.js) were merged into one resource file.
439
440 2007-02-04 Igor Zelmanovich <igorz@mainsoft.com>
441
442         * Page.cs:
443         http://msdn2.microsoft.com/en-us/library/ms178141.aspx   
444         LAMESPEC: on Callback IsPostBack is set to false, but true.
445
446 2007-02-04 Igor Zelmanovich <igorz@mainsoft.com>
447
448         * Page.cs: 
449         VerifyRenderingInServerForm does not fire exception when IsCallback
450
451 2007-02-04 Igor Zelmanovich <igorz@mainsoft.com>
452
453         * Page.cs:
454         * ClientScriptManager.cs:
455         fixed RegisterClientScriptInclude: all includes that was registered before 
456         rendering are rendered at begin form.           
457
458 2007-02-02  Marek Habersack  <grendello@gmail.com>
459
460         * TemplateParser.cs: Do not register controls here.
461
462 2007-02-02  Adar Wesley <adarw@mainsoft.com>
463
464         * Control.cs: Changed UniqueId implementation to have '$' and not ':'
465         to conform to MS.  This led to updating several Tests that referenced
466         the UniqueId as string.
467
468 2007-01-30  Eyal Alaluf <eyala@mainsoft.com>
469
470         * ClientScriptManager.cs: Fix Igor's last changes for TARGET_JVM.
471
472 2007-01-29 Igor Zelmanovich <igorz@mainsoft.com>
473
474         * Page.cs:
475         * ClientScriptManager.cs:
476         CallBack works with EvantValidation.            
477
478 2007-01-25  Eyal Alaluf <eyala@mainsoft.com>
479
480         * Page.cs: Change code to use the 'theForm' property when generating
481           JavaScript code. Ensure that we pass 'theForm' as param to the JS funcs.
482         * Page.jvm.cs, Control.jvm.cs: Implement the 'theForm' property to include
483           the portlet namespace. Moved 'PortletNamespace' from Control.jvm.cs
484     * Page.jvm.cs, Control.jvm.cs, ClientScriptManager.cs: Added support for
485           saving hidden fields for TARGET_J2EE Portlets re-render.
486         * Control.cs: Under TARGET_J2EE portal support add the PortletNamespace
487           to all the control IDs to ensure they different between portlets.
488
489 2007-01-24  Vladimir Krasnov  <vladimirk@mainsoft.com>
490
491         * Page.cs: fixed CheckForValidationSupport,
492         SupportsEventValidationAttribute should be checked at only one level
493
494 2007-01-23  Vladimir Krasnov  <vladimirk@mainsoft.com>
495
496         * TemplateControl.jvm.cs: ParseControl not supported, added limited
497         implementation if TestDeviceFilter
498
499 2007-01-22  Konstantin Triger <kostat@mainsoft.com>
500
501         * ClientScriptManager.cs: ensure the callback client script is
502                 registered before the client script includes are rendered.
503
504 2007-01-22  Konstantin Triger <kostat@mainsoft.com>
505
506         * Page.cs, ClientScriptManager.cs: ensure the web form client script is
507                 registerd before the client script includes are rendered.
508
509 2007-01-21  Konstantin Triger <kostat@mainsoft.com>
510
511         * Page.cs: move the WriteClientScriptIncludes to the top of the form,
512                 according to the MSDN.
513
514 2007-01-20  Miguel de Icaza  <miguel@novell.com>
515
516         * XhtmlTextWriter.cs: comment out unused code. 
517
518         * ThemeProvider.cs: comment out unused code.
519
520         * DataSourceView.cs: Comment unused variable. 
521
522         * ClientScriptManager.cs: Put the expandoAttributes inside the 2.0
523         code 
524
525         * Control.cs: Put _templateControl inside the NET_2_0 ifdef
526
527 2007-01-20  Marek Habersack  <grendello@gmail.com>
528
529         * TemplateParser.cs: Check whether the base type is in the root
530         namespace.
531
532 2007-01-18  Eyal Alaluf <eyala@mainsoft.com>
533
534         * Control.jvm.cs: Added PortletNamespace property.
535
536 2007-01-16  Vladimir Krasnov  <vladimirk@mainsoft.com>
537
538         * TemplateControl.jvm.cs: remover TemplateSourceDirectory propery
539         * Control.cs: moved TemplateSourceDirectory from TemplateControl for
540         TARGET_JVM, fixed AppRelativeTemplateSourceDirectory
541
542 2007-01-16  Vladimir Krasnov  <vladimirk@mainsoft.com>
543
544         * TemplateControl.jvm.cs: added 2.0 event names for wiring up
545
546 2007-01-15  Ilya Kharmatsky <ilya - at - decode-systems.com>
547         * Control.cs: 
548                 - IsViewStateEnabled - removed check for non-null page, since 
549                                  the control by definition should come with enabled
550                                  view state, even if it not 'attached' to the page
551                 - HasEvents() - implementation (still could produce bug in exotic scenarios
552                                 when all events added to 'this' control has been removed
553                                 through the property 'Events', but currently we can't see
554                                 better implementation)
555
556 2007-01-14  Eyal Alaluf <eyala@mainsoft.com>
557
558         * Control.jvm.cs, Page.jvm.cs: Added TARGET_J2EE specific files.
559         * Page.cs, ClientScriptManager.cs, Control.cs: Added J2EE portal
560           support for TARGET_J2EE.
561
562 2007-01-12  Miguel de Icaza  <miguel@novell.com>
563
564         * Control.cs: Remove comment, it provides no information about
565         what could be wrong.
566
567 2007-01-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
568
569         * PageTheme.cs: implemented
570         * Page.cs: fixed InitializeTheme, added PageTheme page initialization
571         * TemplateControl.cs, 
572         * TemplateControl.jvm.cs: added XPath, XPathSelect overloads with
573         IXmlNamespaceResolver parameter
574         * XPathBinder.cs: added Eval, Select overloads with
575         IXmlNamespaceResolver parameter, refactored
576
577 2007-01-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
578
579         * TemplateControl.jvm.cs: added GetGlobalResourceObject
580
581 2007-01-07 Igor Zelmanovich <igorz@mainsoft.com>
582
583         * Page.cs: refactoring: used RegisterHiddenField for _VIEWSTATE field.
584
585 2007-01-04 Igor Zelmanovich <igorz@mainsoft.com>
586
587         * Control.cs: ensure 'id' attribute will be rendered if 
588         ClientID was accessed but ID is generated by the Page, 
589         important for custom controls developing.
590
591 2007-01-04 Igor Zelmanovich <igorz@mainsoft.com>
592
593         * Page.cs: fixed: InitializeCulture should be called 
594         before creating controls.
595
596 2007-01-03  Marek Habersack  <grendello@gmail.com>
597
598         * Page.cs: Make sure the ValidatorOnSubmit function is defined for the
599         document before attempting to use it.
600
601 2007-01-01  Vladimir Krasnov  <vladimirk@mainsoft.com>
602
603         * Control.cs: fixed ResolveClientUrl, wrong when control that calls
604         this method and the page are in different folders
605
606 2006-12-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
607
608         * Page.cs: show the validation summary when client validation and
609         linkbuttons are used. Patch by Juraj Skripsky.
610
611 2006-12-31 Igor Zelmanovich <igorz@mainsoft.com>
612
613         * Page.cs: fixed: EventValidation is not performed for CallBack request.
614
615 2006-12-27 Igor Zelmanovich <igorz@mainsoft.com>
616
617         * Page.cs: fixed: RegisterRequiresPostBack feature.
618
619 2006-12-21  Marek Habersack  <grendello@gmail.com>
620
621         * ControlBuilder.cs: Add support for tag mapping in 2.0
622
623 2006-12-20  Marek Habersack  <grendello@gmail.com>
624
625         * TemplateParser.cs: make sure Context.ApplicationInstance is not
626         valid before adding application assembly.
627
628 2006-12-11 Igor Zelmanovich <igorz@mainsoft.com>
629
630         * Page.cs: fixed and optimized ProcessPostData
631         The "second try" used for controls that created at OnLoad.
632         fixed for controls that use RgisterRequeresPostBack to handle post data.
633
634 2006-11-29 Igor Zelmanovich <igorz@mainsoft.com>
635
636         * Page.cs: The specified theme must exist as either an application theme. 
637         If the theme does not exist, an HttpException exception s thrown.
638
639 2006-12-09  Marek Habersack  <grendello@gmail.com>
640
641         * HiddenFieldPageStatePersister.cs: Implement the 2.0 class (used
642         also in the 1.x profile)
643
644         * ObjectStateFormatter.cs: Implement the IStateFormatter interface
645
646         * ClientScriptManager.cs: Use IStateFormatter instead of
647         LosFormatter.
648         Use the IStateFormatter interface when registering the hidden
649         field with the state.
650
651         * LosFormatter.cs: Use ObjectStateFormatter
652
653         * PageStatePersister.cs: Make the class available as internal for
654         1.x profile.
655         Constructor throws an exception on its page parameter being null.
656         Implemented several properties: ControlState, ViewState, Page,
657         StateFormatter
658
659         * Page.cs: Use new state persister for all the profiles.
660         Use the new HiddenFieldPageStatePersister class.
661
662         * IStateFormatter.cs: Make the class available as internal for 1.x profile.
663
664 2006-12-04  Vladimir Krasnov  <vladimirk@mainsoft.com>
665
666         * TemplateControl.jvm.cs: fixed TemplateSourceDirectory initialization
667
668 2006-11-29  Marek Habersack  <grendello@gmail.com>
669
670         * TemplateParser.cs: if the OutputCache directive is present, make
671         sure the cache does not expire the current output.
672
673 2006-11-29 Igor Zelmanovich <igorz@mainsoft.com>
674
675         * Page.cs: added missing methods and properties:
676         AsyncMode
677         AsyncTimeout
678         IsAsync
679         UniqueFilePathSuffix
680         MaxPageStateFieldLength
681         ViewStateEncryptionMode
682         AddOnPreRenderCompleteAsync
683         AddOnPreRenderCompleteAsync
684         ExecuteRegisteredAsyncTasks
685         CreateHtmlTextWriterFromType
686         RegisterRequiresViewStateEncryption
687
688 2006-11-29 Igor Zelmanovich <igorz@mainsoft.com>
689
690         * Page.cs: Master property returns null when no HttpContext.
691
692 2006-11-29 Igor Zelmanovich <igorz@mainsoft.com>
693
694         * Page.cs: InitializeCulture method is called before OnPreInit.
695
696 2006-11-28  Marek Habersack  <grendello@gmail.com>
697
698         * TemplateControlParser.cs: Use the new TemplateParser methods to
699         register controls/namespaces
700
701         * TemplateParser.cs: Implement support for the
702         system.web/pages/namespaces collection instead of hard-coding the
703         namespaces into the source.
704         Refactoring: added two internal methods to handle both the
705         system.web/pages/controls registration and the Register directive.
706         Added a new internal method to pull the system.web/pages/controls
707         collection before parsing.
708
709 2006-11-27  Marek Habersack  <grendello@gmail.com>
710
711         * SimpleWebHandlerParser.cs: Added support for looking up types in
712         the top-level assemblies (App_Code et al)
713
714 2006-11-27 Igor Zelmanovich <igorz@mainsoft.com>
715
716         * Control.cs: implemented EnsureID method.
717
718 2006-11-27 Igor Zelmanovich <igorz@mainsoft.com>
719
720         * Control.cs: implemented Focus methods.
721
722 2006-11-27 Igor Zelmanovich <igorz@mainsoft.com>
723
724         * Page.cs: implemented SetFocus methods.
725         * PageLifeCycle.cs:     
726
727 2006-11-27 Igor Zelmanovich <igorz@mainsoft.com>
728
729         * ClientScriptManager.cs: refactoring:
730         extracted method RegisterWebFormClientScript    
731
732 2006-11-27 Igor Zelmanovich <igorz@mainsoft.com>
733
734         * Control.cs: implemented OpenFile()
735
736 2006-11-26 Igor Zelmanovich <igorz@mainsoft.com>
737
738         * Page.cs:
739         * Control.cs:
740         implemented ClearChildState(), ClearChildControlState() and 
741         IsChildControlStateCleared      
742
743 2006-11-26 Igor Zelmanovich <igorz@mainsoft.com>
744
745         * Page.cs:
746         * ClientScriptManager.cs:
747         implemented RegisterExpandoAttribute feature    
748
749 2006-11-23 Igor Zelmanovich <igorz@mainsoft.com>
750
751         * ListSourceHelper.cs: optimization of implementation 
752
753 2006-11-23 Igor Zelmanovich <igorz@mainsoft.com>
754
755         * ListSourceHelper.cs: implemented 
756
757 2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
758
759         * DataSourceView.cs: fixed: constructor throws ArgumentNullException 
760
761 2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
762
763         * Page.cs: fixed: PreviousPage property
764         when CrossPostBack is processed PreviousPage is initialized 
765         only if PreviousPage property is called.         
766
767 2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
768
769         * DataSourceControl.cs: fixed: Focus(), EnableTheming 
770
771 2006-11-21  Marek Habersack  <grendello@gmail.com>
772
773         * Control.cs: Make ClientIDSeparator private for !NET_2_0
774
775 2006-11-21 Igor Zelmanovich <igorz@mainsoft.com>
776
777         * Page.cs: fixed: LoadControlState is called for controls 
778         that added on Load and latter
779
780 2006-11-20  Marek Habersack  <grendello@gmail.com>
781
782         * Control.cs: Implementations of a few missing properties.
783
784         * Page.cs: Added support for automatic culture detection from the
785         user's browser.
786
787         * PageParser.cs: Added support for "auto" cultures in the Page
788         directive.
789
790 2006-11-20 Igor Zelmanovich <igorz@mainsoft.com>
791
792         * ClientScriptManager.cs: fixed: ValidateEvent feature:
793         client side return eventArgument as empty string 
794         for controls that set it as null        
795
796 2006-11-18  Marek Habersack  <grendello@gmail.com>
797
798         * ClientScriptManager.cs: Implemented two missing
799         GetPostBackEventReference overloads. Made one of the overloads
800         internal for .NET < 2.0.
801
802 2006-11-17  Marek Habersack  <grendello@gmail.com>
803
804         * PostBackOptions.cs: Renamed the constructors parameters to match
805         those Microsoft .NET uses.
806         targetControl must not be passed null to the constructor.
807
808         * ClientScriptManager.cs: Support for event validation.
809         Implemented a GetPostBackHyperlink overload.
810         Implemented the RegisterForEventValidation methods.
811         Implemented the ValidateEvent method.
812         Added support for saving/restoring event validation state.
813
814         * Page.cs: EnableEventValidation can be set only from the config
815         files (the <pages> element), the Page directive or from
816         Page_Init. After Page_Init returns, an exception is thrown.
817         Made GetFormatter internal, so that ClientScriptManager can use
818         it.
819         Added the internal LifeCycle property which contains the current
820         life cycle stage of the page request processing.
821         Added calls to save/restore event validation state.
822         Added checks for whether child controls of the page support event
823         validation or not.
824         Added calls to ClientScriptManager.ValidateEvent in appropriate
825         places.
826
827         * PageLifeCycle.cs: Added the PageLifeCycle enum, used in event
828         validation.
829
830 2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
831
832         * LosFormatter.cs:
833         * ObjectStateFormatter.cs: match MS 1.x and 2.0 behaviour for null and
834         empty strings.
835
836 2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
837
838         * SimpleWebHandlerParser.cs: 'using' for file reading.
839
840 2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
841
842         * Page.cs: revert r67514 until after tagging for the next release. 
843
844 2006-11-12 Igor Zelmanovich <igorz@mainsoft.com>
845
846         * LiteralControl.cs: fixed: constructors & Text property
847
848 2006-11-09 Igor Zelmanovich <igorz@mainsoft.com>
849
850         * Page.cs: fixed: LoadControlState is called for controls 
851         that added on Load and latter, for 1.x refactoring only
852
853 2006-11-02 Igor Zelmanovich <igorz@mainsoft.com>
854
855         * ClientScriptManager.cs: 
856         fixed: checks arguments for null in public methods,
857         fixed public interface.
858
859 2006-10-23 Igor Zelmanovich <igorz@mainsoft.com>
860
861         * PostBackOptions.cs: fixed: default values of properties 
862
863 2006-10-22 Igor Zelmanovich <igorz@mainsoft.com>
864
865         * CssStyleCollection.cs:
866         * AttributeCollection.cs:
867         fixed: style collection is synchronized with style attribute 
868
869 2006-10-19 Igor Zelmanovich <igorz@mainsoft.com>
870
871         * ClientScriptManager.cs: fixed: renders id attribute in hidden field
872
873 2006-10-18  Marek Habersack  <grendello@gmail.com>
874
875         * TemplateParser.cs: reference System.Resources when compiling a
876         control.
877
878         * TemplateControl.cs: implement the GetGlobalResourceObject
879         ASP.NET 2.0 APIs.
880
881 2006-10-12 Igor Zelmanovich <igorz@mainsoft.com>
882
883         * Page.cs: fixed: for 2.0 only
884         When Page processes Callback IsPostBack = false, but it still needs
885         LoadViewState/ControlState and ProcessPostData
886
887 2006-10-11 Igor Zelmanovich <igorz@mainsoft.com>
888
889         * DataSourceSelectArguments.cs: fixed: 
890         SortExpression not returns null,
891         Empty property returns new instance each time
892
893 2006-10-10 Igor Zelmanovich <igorz@mainsoft.com>
894
895         * DataSourceSelectArguments.cs: 
896         fixed: RaiseUnsupportedCapabilitiesError method.
897
898 2006-10-09 Igor Zelmanovich <igorz@mainsoft.com>
899
900         * DataSourceSelectArguments.cs: fixed: Equals method.
901
902 2006-10-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
903
904         * CssStyleCollection.cs: don't clear the collection of properties, but
905         create a new one.
906
907 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
908
909         * CssStyleCollection.cs: 'style' can be modified on our back, so build
910         the style table every time instead of keeping one that is not in sync.
911         Fixes bug #79587.
912
913 2006-09-25 Igor Zelmanovich <igorz@mainsoft.com>
914
915         * Page.cs: fixed: Cross-page postback feature in ASP.NET 2.0
916         When page is invoked by cross-page posting, PreviousPage processed all 
917         live-cycle up to OnLoadComplite included.
918         IsPostBack, IsCallBack and IsCrossPagePostBack returns relevant values.
919
920 2006-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
921
922         * TemplateParser.cs: patch by Joel Reed that makes use of the namespace
923         collection from the PagesConfiguration to add new namespaces when
924         generating the page/control code.
925
926 2006-09-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
927
928         * PageParser.cs: support the EnableEventValidation attribute.
929
930 2006-09-18 Igor Zelmanovich <igorz@mainsoft.com>
931
932         * Page.cs: fixed: Title property works properly
933
934 2006-09-17 Igor Zelmanovich <igorz@mainsoft.com>
935
936         * ClientScriptManager.cs: added helper method
937
938 2006-09-14 Igor Zelmanovich <igorz@mainsoft.com>
939
940         * Page.cs: fixed: GetValidators(string), Validate(string) works properly
941
942 2006-09-08  Robert Jordan  <robertj@gmx.net>
943
944         * Page.cs: assure that RenderTrace is called even if an
945         exception occurred. Fixes bug #78930.
946
947 2006-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
948
949         * TemplateControl.cs: search for the new Page_* event handlers in 2.0.
950         Patch by Marek Habersack that fixes bug #78268.
951
952 2006-09-07 Lluis Sanchez Gual  <lluis@novell.com>
953
954         * Page.cs: Use lowercase getElementById in the javascript that
955         checks the browser.
956
957 2006-08-22  Vladimir Krasnov  <vladimirk@mainsoft.com>
958
959         * KeyedListEnumerator.cs: fixed Current property to return real object
960         instead of DictionaryEntry
961
962 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
963
964         * Page.cs: don't use the Browser object, as it slows down process
965         request time *a lot*. Fixes bug #79206.
966
967 2006-09-05 Konstantin Triger <kostat@mainsoft.com>
968
969         * Page.cs: Imlemented InitOutputCache(OutputCacheParameters cacheSettings).
970         * OutputCacheParameters.cs: added an implementation.
971
972 2006-09-04 Igor Zelmanovich <igorz@mainsoft.com>
973
974         * CssStyleCollection.cs: fixed: background-image style attribute
975
976 2006-08-31 Konstantin Triger <kostat@mainsoft.com>
977
978         * StaticPartialCachingControl.cs: added forwarding implementation for
979                 2.0 version of BuildCachedControl().
980
981 2006-08-30 Igor Zelmanovich <igorz@mainsoft.com>
982
983         * Page.cs: added internal method
984         * ClientScriptManager.cs:
985
986 2006-08-30 Igor Zelmanovich <igorz@mainsoft.com>
987
988         * ClientScriptManager.cs: added helper method
989
990 2006-08-22  Vladimir Krasnov  <vladimirk@mainsoft.com>
991
992         * Page.cs: fixed ApplyMasterPage, masterPageFile can be empty string
993         if compiled with .net aspx parser
994         fixed OnInit, GetStyleSheets may return null if no css files found by
995         .net aspx parser
996
997 2006-08-22  Vladimir Krasnov  <vladimirk@mainsoft.com>
998
999         * TemplateControl.jvm.cs: fixed WireupAutomaticEvents, removed access
1000         modifiers check on event handlers
1001
1002 2006-08-22  Vladimir Krasnov  <vladimirk@mainsoft.com>
1003
1004         * Control.cs: implemented AppRelativeTemplateSourceDirectory for aspx 
1005         parser 2.0
1006         * TemplateControl.jvm.cs: fixed AppRelativeVirtualPath
1007         fixed TemplateSourceDirectory, should not work on master pages. 
1008
1009 2006-08-20  Vladimir Krasnov  <vladimirk@mainsoft.com>
1010
1011         * MasterPageParser.jvm.cs: fixed path resolving
1012         GetCompiledMasterInstance
1013
1014 2006-08-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1015
1016         * TemplateControl.jvm.cs: fixed data binding API, implemented
1017         AppRelativeVirtualPath, ReadStringResource
1018
1019 2006-08-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1020
1021         * Page.cs: added stubs to run aspx files compiled by .net
1022
1023 2006-08-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
1024
1025         * MasterPageParser.jvm.cs: implemented
1026
1027 2006-08-10  Andrew Skiba <andrews@mainsoft.com>
1028
1029         * Page.cs: render css path as a virtual path.
1030
1031 2006-08-09  Robert Jordan  <robertj@gmx.net>
1032
1033         * Control.cs: add the 2.0 ResolveClientUrl method.
1034         Expose ResolveClientUrl as internal for the 1.1 profile.
1035         Fixes bug #77539.
1036
1037 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
1038
1039         * added MasterPageParser.jvm.cs
1040
1041 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
1042
1043         * ControlBuilder.jvm.cs: added BuildObject method
1044
1045 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
1046
1047         * ParseChildrenAttribute.cs: fixed ChildControlType property to
1048         compliant to .net
1049         * UserControl.cs: fixed ParseChildren attribute to be compliant
1050         to .net
1051
1052 2006-08-08 Igor Zelmanovich <igorz@mainsoft.com>
1053
1054         * Page.cs: implemented MaintainScrollPositionOnPostBack feature
1055
1056 2006-08-06  Vladimir Krasnov  <vladimirk@mainsoft.com>
1057
1058         * Control.cs: fixed EnableTheming proprty, fixes bug when child 
1059         control has EnableTheming=false and parent has true.
1060
1061 2006-07-31  Vladimir Krasnov  <vladimirk@mainsoft.com>
1062         
1063         * MasterPage.cs: fixed default values, fixed AddContentTemplate
1064
1065 2006-07-31  Vladimir Krasnov  <vladimirk@mainsoft.com>
1066
1067         * Control.cs: fixed EnableTheming proprty, fixes the bug when skins 
1068         are applied even if EnableTheming property was set to false.
1069
1070 2006-07-24 Andrew Skiba <andrews@mainsoft.com>
1071
1072         * DataSourceView.cs: refactor to keep the original exception stack.
1073
1074 2006-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1075
1076         * PostBackOptions.cs: default to String.Empty for several field values.
1077         Patch by Marek Habersack.
1078
1079 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1080
1081         * Page.cs: when ProcessRequest is not called, get the session from
1082         the current context. Fixes bug #78730.
1083
1084 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1085
1086         * Page.cs: fix IsPostback for AJAX calls to match MS behavior. Patch
1087         by Peijen Lin that closes bug #78646.
1088
1089 2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1090
1091         * TemplateControlParser.cs: fix compilation caching when more than one
1092         @control is compiled from source. Closes bug #78626.
1093
1094 2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1095
1096         * Page.cs: add the 2.0 Items property. Fixes bug #78467.
1097
1098 2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1099
1100         * Page.cs: use the new internal LosFormatter.SerializeToBase64.
1101         * LosFormatter.cs: always work on base 64 strings even if the
1102         input/output is on a Stream. Fixes bug #78640.
1103
1104 2006-06-08 Konstantin Triger <kostat@mainsoft.com>
1105
1106         * Page.cs: For loading themes, use '~/App_Themes' instead of
1107         './App_Themes' to enable theme support for files in sub folders.
1108
1109 2006-05-25  Andrew Skiba  <andrews@mainsoft.com>
1110
1111         * Control.cs: move 2.0 stuff into ifdef NET_2_0
1112
1113 2006-05-25  Andrew Skiba  <andrews@mainsoft.com>
1114
1115         * Page.cs, Control.cs: Fix the order of OnInit invocation of controls
1116         created via master page content (see 
1117         http://lists.ximian.com/pipermail/mono-devel-list/2006-May/018585.html ).
1118
1119 2006-05-11  Andrew Skiba  <andrews@mainsoft.com>
1120
1121         * Page.cs, PageTheme.cs: This patch uses LinkedStyleSheets from the
1122         PageTheme and from StyleSheetPageTheme to insert links in page header.
1123
1124 2006-05-10  Andrew Skiba  <andrews@mainsoft.com>
1125
1126         * TemlpateParser.cs: surround file name with quotes
1127
1128 2006-05-08  Chris Toshok  <toshok@ximian.com>
1129
1130         * ControlBuilder.cs (ResetState): set renderIndex to 0 here.  This
1131         fixes the last thing keeping the test in #76818 from working.
1132
1133 2006-05-07 Andrew Skiba <andrews@mainsoft.com>
1134
1135         * Page.cs: if no theme is defined in aspx, read default from web.config.
1136         Same for the style sheet theme.
1137
1138 2006-04-27 Andrew Skiba <andrews@mainsoft.com>
1139
1140         * TemplateParser.cs: format according to
1141         http://lists.ximian.com/pipermail/mono-devel-list/2006-April/018096.html
1142
1143 2006-04-25  Chris Toshok  <toshok@ximian.com>
1144
1145         * PageThemeParser.cs (LinkedStyleSheets): reformat.
1146
1147 2006-04-25 Konstantin Triger <kostat@mainsoft.com>
1148
1149         * Control.cs: implementation for IsViewStateEnabled.
1150
1151 2006-04-25 Andrew Skiba <andrews@mainsoft.com>
1152
1153         * Control.cs: fix null pointer exception
1154
1155 2006-04-23 Andrew Skiba <andrews@mainsoft.com>
1156
1157         * PageThemeParser.cs: add LinkedStyleSheets property
1158
1159 2006-04-16 Andrew Skiba <andrews@mainsoft.com>
1160
1161         * TemplateParser.cs: add internal method AddAssemblyByFileName
1162
1163 2006-04-16 Konstantin Triger <kostat@mainsoft.com>
1164
1165         * SimpleWebHandlerParser.cs: correctly resolve GACs dependencies.
1166
1167 2006-04-11 Konstantin Triger <kostat@mainsoft.com>
1168
1169         * Page.cs, TemplateControl.cs: refactoring implementing Page.GetDataItem().
1170
1171 2006-04-10  Chris Toshok  <toshok@ximian.com>
1172
1173         * PageThemeFileParser.cs (AddDirective): allow Register directives
1174         in skin files.
1175
1176 2006-04-02  Chris Toshok  <toshok@ximian.com>
1177
1178         * Control.cs (DesignMode): always return false for now.  Fixes
1179         #77991.
1180
1181 2006-03-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1182
1183         * ControlBuilder.cs: when creating a default property builder, handle
1184         strings specially.
1185
1186         * StringPropertyBuilder.cs: new builder used in TextBox 2.0.
1187
1188 2006-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
1189
1190         * ControlCollection.cs: fixed CopyTo method, fixes bug when if target 
1191         index is not zero
1192
1193 2006-03-13  Chris Toshok  <toshok@ximian.com>
1194
1195         * HtmlTextWriterTag.cs: no [Serializable] in 2.0.
1196
1197         * HtmlTextWriterAttribute.cs: same.
1198
1199         * HtmlTextWriterStyle.cs: same.
1200
1201         * VirtualReferenceType.cs: new enum.
1202
1203 2006-03-13  Chris Toshok  <toshok@ximian.com>
1204
1205         * UserControl.cs: rework InitializeAsUserControl and
1206         InitializeAsUserControlInternal - the Internal variety doesn't set
1207         this.page to null now.
1208
1209         * MasterPage.cs (CreateMasterPage): map the masterPageFile path,
1210         and also remove a line of spew.
1211
1212 2006-03-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
1213
1214         * Added PageParser.jvm.cs, WebServiceParser.jvm.cs
1215
1216 2006-03-07  Chris Toshok  <toshok@ximian.com>
1217
1218         * Page.cs (InitializeStyleSheet): load the style sheet theme using
1219         ThemeDirectoryCompiler.
1220         (InitializeTheme): load the page's theme using
1221         ThemeDirectoryCompiler.
1222         (InternalProcessRequest): call InitializeTheme after OnPreInit.
1223         (FrameworkInitialize): call InitializeStyleSheet.
1224         (PageTheme,StyleSheetPageTheme): new properties to get the
1225         respective themes.
1226
1227         * Control.cs (ApplyStyleSheetSkin): new method.  Calls ApplySkin
1228         on the ControlSkin (if there is one) for this control in the
1229         page's StyleSheetSkin.
1230         (ApplyThemeRecursively): applies the page's theme recursively to
1231         the control hierarchy.  Must be done this way because the control
1232         tree is already present when we apply the theme (it has to be,
1233         since theme's override settings).
1234
1235         * PageTheme.cs (GetControlSkin): add internal call to do the
1236         lookup for us.
1237
1238         * PageThemeFileParser.cs: the parser object that represents each
1239         individual skin file.
1240
1241         * PageThemeParser.cs: the parser object that represents the entire
1242         theme directory.
1243
1244         * PageThemeBuilder.cs: this class generates the right exception on
1245         the right event, but it's not hooked up yet.
1246
1247 2006-03-02  Chris Toshok  <toshok@ximian.com>
1248
1249         * Control.cs (ApplyStyleSheetTheme): remove the exception, and add
1250         a MonoTODO.
1251
1252         * Page.cs (Theme): implement setter/getter.
1253         (StyleSheetTheme): same.
1254         
1255         * PageParser.cs (ProcessMainAttributes): parse the Theme and
1256         StyleSheetTheme attributes.
1257
1258 2006-02-27  Chris Toshok  <toshok@ximian.com>
1259
1260         * TemplateControl.cs: corcompare work.
1261
1262         * ExpressionBindingCollection.cs: same.
1263
1264         * HierarchicalDataSourceControl.cs: same.
1265
1266         * PostBackOptions.cs: same.
1267
1268         * ClientScriptManager.cs: same.
1269
1270         * FilterableAttribute.cs: same.
1271
1272         * ControlCollection.cs: same.
1273
1274         * DataBindingCollection.cs: same.
1275         
1276         * PropertyEntry.cs: mark ctor internal.
1277
1278         * SimpleWebHandlerParser.cs: mark the 2.0 ctor as internal.
1279
1280         * Page.cs: stub out two Theme oriented 2.0 properties.
1281
1282         * DataBinder.cs: remove the obsolete attribute on the ctor.
1283
1284         * TwoWayBoundPropertyEntry.cs: remove this.
1285         
1286         * ControlBuilder.cs (BindingContainerType): virtual in 2.0.
1287
1288         * ThemeProvider: new (stubbed) class.
1289
1290         * SkinBuilder.cs: same.
1291
1292         * PageTheme.cs: same.
1293
1294         * ControlSkin.cs: same.
1295         
1296         * ControlSkinProc.cs: rename this to ControlSkinDelegate.cs.
1297         
1298         * SimplePropertyEntry.cs: mark ctor as internal.
1299
1300         * IThemeResolutionService.cs: enable the 3 members of this
1301         interface.
1302
1303 2006-02-27  Chris Toshok  <toshok@ximian.com>
1304
1305         * ListSourceHelper.cs: this class is static.
1306
1307         * Page.cs: add some EditorBrowsable attributes to the 2.0 events.
1308
1309 2006-02-27  Chris Toshok  <toshok@ximian.com>
1310
1311         * DataSourceView.cs: Name isn't virtual.
1312
1313         * DataSourceControl.cs: beat this class over the head with the
1314         corcompare stick.
1315
1316         * DataSourceControlBuilder.cs: new stubbed control builder for
1317         DataSourceControl.
1318
1319 2006-02-23  Chris Toshok  <toshok@ximian.com>
1320
1321         * Page.cs: more corcompare work.
1322
1323 2006-02-23  Chris Toshok  <toshok@ximian.com>
1324
1325         * Page.cs (ProcessCallbackData): track change to
1326         ICallbackEventHandler iface.
1327
1328         * ICallbackEventHandler.cs: enable the proper members of this
1329         interface.
1330
1331         * DataSourceSelectArguments.cs: reformat getter/setters.
1332         
1333 2006-02-22  Cesar Lopez Nataren  <cnataren@novell.com>
1334
1335         * HtmlTextWriter.cs: Added method WriteEncodedText for the .NET 2.0 profile.
1336
1337 2006-02-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1338
1339         * WebHandlerParser.cs:
1340         * WebServiceParser.cs:
1341         * UserControlParser.cs:
1342         * PageParser.cs: added new ctor that uses a TextReader as input.
1343
1344         * TemplateControlParser.cs: new Reader property.
1345         * SimpleWebHandlerParser.cs: new Reader property and ctor.
1346
1347 2006-02-12  Cesar Lopez Nataren  <cnataren@novell.com>
1348
1349         * HtmlTextWriter.cs: Implemented IsValidFormAttribute and
1350         WriterBreak for the .NET 2.0 profile.
1351
1352 2006-02-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1353
1354         * IThemeResolutionService.cs: this is now added to the
1355         sources file, but some other stuff does not compile yet as the
1356         interface changed after the beta.
1357
1358         * ObjectConverter.cs: removed extra attribute.
1359
1360         * ObjectStateFormatter.cs: add IStateFormatter for 2.0.
1361
1362         * ICallbackEventHandler.cs: update the interface, but commented the
1363         'good' stuff out, since other files need to be fixed too.
1364
1365 2006-02-07  Chris Toshok  <toshok@ximian.com>
1366
1367         * ControlBuilder.cs: rename flushOutputStatements to
1368         methodStatements to at least reflect that they're in that method.
1369
1370 2006-02-07  Chris Toshok  <toshok@ximian.com>
1371
1372         * MasterPage.cs (CreateMasterPage): don't nullref on null
1373         contentTemplateCollection.
1374
1375         * ControlBuilder.cs: add a flushOutputStatements field.
1376
1377         * PageParser.cs (ProcessMainAttributes): handle Title attribute.
1378         (Title): add getter.
1379         
1380         * Page.cs (Title): implement getter/setter.
1381         (InternalProcessRequest): after calling ApplyMasterPage, apply the
1382         page's Title directive if there is one.
1383         (AddContentTemplate): make the EditorBrowsable attribute apply to
1384         the method, not the field.
1385         
1386 2006-02-07  Chris Toshok  <toshok@ximian.com>
1387
1388         * MasterPage.cs: rework this file, adding some static methods
1389         gleaned from MS stack traces, and clear up the propogation of
1390         content templates between nested master pages.
1391
1392         * Control.cs (TemplateControl): implement.
1393
1394         * TemplateControl.cs: re-indent some of the code.
1395         (ReadStringRecource): according to msdn2, these throw
1396         NotSupportedException.
1397
1398         * MasterPageParser.cs (HandleOption): implement.  assign our
1399         master page's MasterPageFile from the UserControl property.
1400
1401         * UserControl.cs (InitializeAsUserControlInternal): new method
1402         that allows initialization without a page.
1403
1404         * UserControlParser.cs (ProcessMainAttributes): for 2.0 handle
1405         MasterPageFile attributes, so we can have nested master pages.
1406         (MasterPageFile): add a 2.0 specific property.
1407         
1408         * TemplateControlParser.cs: in .net 2.0, our base class is
1409         BaseTemplateParser.
1410         (HandleOptions): be consistent and call base.HandleOptions.
1411
1412         * BaseTemplateParser.cs: new (stubbed) class.
1413
1414         * MasterPageControlBuilder.cs: new file, not filled in (and really
1415         not used either.)
1416
1417         * Page.cs (InternalProcessRequest): call ApplyMasterPage.
1418         (SaveExistingContentTemplates): nuke.
1419         (ReapplyExistingContentTemplate): nuke.
1420         (ApplyMasterPage): if we have a master page, call
1421         MasterPage.ApplyMasterPageRecursive with it and add it to our
1422         controls.
1423         (set_MasterPageFile): remove call to SaveExistingContentTemplates.
1424         (get_Master): call MasterPage.CreateMasterPage.
1425         (AddContentTemplate): keep track of the page's content templates
1426         in a local Hashtable - they aren't our master page's content
1427         templates.
1428
1429 2006-02-01  Chris Toshok  <toshok@ximian.com>
1430
1431         * TemplateParser.cs: CONFIGURATION_2_0 => NET_2_0, and replace
1432         calls to GetWebApplicationSection with GetSection.
1433
1434         * SimpleWebHandlerParser.cs: same.
1435
1436         * Page.cs: same.
1437
1438         * PageParser.cs: same.
1439
1440         * BaseParser.cs: same.
1441
1442 2006-01-27  Chris Toshok  <toshok@ximian.com>
1443
1444         * MasterPage.cs (ContentTemplatesInternal): add get/set for the
1445         actual Hashtable.
1446
1447         * Page.cs (SaveExistingContentTemplates): store off the existing
1448         MasterPage content templates so they can be reapplied when setting
1449         MasterPageFile to something else.
1450         (ReapplyExistingContentTemplates): set masterPage's
1451         ContentTemplates to our saved copy.
1452         (set_MasterPageFile): save off the current content templates
1453         before clearing masterPage.
1454         (get_Master): reapply the saved content templates after we create
1455         the new MasterPage.
1456         
1457 2006-01-25  Chris Toshok  <toshok@ximian.com>
1458
1459         * ClientScriptManager.cs (RegisterClientScriptResource): last
1460         patch, I swear.  How can 1 line of code have 3 bugs?
1461
1462 2006-01-25  Chris Toshok  <toshok@ximian.com>
1463
1464         * ClientScriptManager.cs (RegisterClientScriptResource): gah, fix
1465         problem with last commit - unquote "resourceName" so it uses the
1466         parameter instead of the string constant.
1467
1468 2006-01-22  Chris Toshok  <toshok@ximian.com>
1469
1470         * RootBuilder.cs (.cctor): use a 2.0 friendly hashtable ctor to
1471         quiet mcs.
1472
1473         * PageParser.cs (ProcessMainAttributes): i missed a
1474         CONFIGURATION_2_0 block.
1475
1476         * BoundPropertyEntry.cs (.ctor): mark as internal to fix
1477         corcompare.
1478
1479 2006-01-18 Konstantin Triger <kostat@mainsoft.com>
1480
1481         * ObjectStateFormatter.cs: preserve emptiness in ColorFormatter.
1482
1483 2006-01-18 Konstantin Triger <kostat@mainsoft.com>
1484
1485         * HtmlTextWriter.cs: perform case insensitive compare;
1486           return correct key in default case.
1487
1488 2006-01-11  Chris Toshok  <toshok@ximian.com>
1489
1490         * ClientScriptManager.cs (RegisterClientScriptResource):
1491         implement.
1492
1493 2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
1494
1495         * ObjectStateFormatter.cs: Removed TARGET_JVM parts in 
1496         TypeFormatter.Read
1497
1498 2006-01-10  Chris Toshok  <toshok@ximian.com>
1499
1500         * Page.cs (ValidateCollection): in NET_2_0 if event validation is
1501         off, return true.
1502
1503 2006-01-09  Chris Toshok  <toshok@ximian.com>
1504
1505         * Page.cs: fix a lot of indentation, and add the
1506         EnableEventValidation .net 2.0 property.
1507
1508 2006-01-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
1509
1510         * ObjectStateFormatter.cs: Merged TARGET_JVM parts in 
1511         TypeFormatter.Read, TypeFormatter.Write from /main/5
1512
1513 2006-01-09  Konstantin Triger <kostat@mainsoft.com>
1514
1515         * Page.cs: make ProcessRequest virtual under TARGET_JVM.
1516
1517 2006-01-04  Chris Toshok  <toshok@ximian.com>
1518
1519         * TemplateParser.cs (.ctor): kinda gross, but handle the
1520         AddAssembliesInBin case here.
1521         
1522         * SimpleWebHandlerParser.cs (.ctor): same.
1523
1524 2006-01-04  Chris Toshok  <toshok@ximian.com>
1525
1526         * SimpleWebHandlerParser.cs: Remove the declaration of
1527         compilationConfig in the CONFIGURATION_2_0 case.  it's
1528         unnecessary.
1529         (.ctor): ifdef out the AddAssembliesInBin call in the
1530         CONFIGURATION_2_0 case.  need to revisit this.
1531         (CompilationConfig): add a CONFIGURATION_2_0 version.
1532
1533         * BaseParser.cs: Remove the declaration of compilationConfig in
1534         the CONFIGURATION_2_0 case.  it's unnecessary.
1535
1536 2005-12-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1537
1538         * Control.cs: use _controls instead of the property wherever possible.
1539
1540 2005-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1541
1542         * Control.cs: use the _controls field instead of the Controls property.
1543         Fixes bug #76919.
1544
1545 2005-11-30  Sebastien Pouliot  <sebastien@ximian.com>
1546
1547         * KeyedList.cs: Fixed for IOrderedDictionary change in 2.0 final.
1548         Now internal.
1549         * KeyedListEnumerator.cs: Now internal.
1550
1551 2005-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1552
1553         * ControlCollection.cs: allow 'null' in Remove.
1554
1555 2005-11-28  Chris Toshok  <toshok@ximian.com>
1556
1557         * Page.cs (GetFormatter): CONFIGURATION_2_0 work.
1558
1559         * TemplateParser.cs (..ctor): CONFIGURATION_2_0 work.
1560         (PagesConfig): add a CONFIGURATION_2_0 version that returns a
1561         PagesSection.
1562
1563         * PageParser.cs (ProcessMainAttributes): CONFIGURATION_2_0 work.
1564
1565         * BaseParser.cs (CompilationConfig): add a CONFIGURATION_2_0
1566         version that returns a CompilationSection.
1567
1568 2005-11-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1569
1570         * SimpleWebHandlerParser.cs: removed 'codebehind' related stuff.
1571
1572 2005-11-09  Chris Toshok  <toshok@ximian.com>
1573
1574         * ViewStateEncryptionMode.cs: new 2.0 enum.
1575
1576 2005-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1577
1578         * TemplateParser.cs: fixes #76423. Not tested properly.
1579
1580 2005-11-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1581
1582         * Page.cs: call LoadViewStateRecursive when the Form collection has
1583         not been used by a different page (GetTypeHashCode). This fixes problems
1584         when calling Server.Transfer while preserving Form and QueryString,
1585         as the page we transfer to used the view state stored in the Form, which
1586         contained the serialized data for the page calling Server.Transfer
1587         instead.
1588
1589 2005-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1590
1591         * Page.cs: add/remove the error before/after invoking OnError.
1592
1593 2005-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1594
1595         * Page.cs: call OnError when there's an exception (not for TAE). Fixes
1596         bug #76572.
1597
1598 2005-10-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1599
1600         * TemplateControl.cs:
1601         * PartialCachingControl.cs: if a control is cacheable, LoadControl
1602         returns a PartialCachingControl that holds the VaryBy* and takes care
1603         of partial caching and rendering. Fixes bug #76547.
1604
1605 2005-10-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1606
1607         * Page.cs: don't cache the 'Validate()' results. IsValid retests
1608         the validators again.
1609
1610 2005-09-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1611
1612         * DesignerDataBoundLiteralControl.cs: changed autoid api.
1613         * DataBoundLiteralControl.cs: changed autoid api.
1614
1615         * Control.cs: fixlet for UniqueID and weird test case.  Removed
1616         PreventAutoID and only use the property to set that value.
1617
1618         * LiteralControl.cs: changed autoid api.
1619
1620 2005-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1621
1622         * AttributeCollection.cs: avoid code duplication and
1623         don't add "style" to the bag, or it will overwrite the settings made
1624         by CssStyleCollection.
1625
1626         * CssStyleCollection.cs: make it throw where MS throws.
1627         Minimize the number of times we create the "style" string and take
1628         care of updating it for the AttributeCollection. FillStyle and
1629         BagToString are now private. One should use the 2.0 (internal in <2.0)
1630         Value property.
1631
1632 2005-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1633
1634         * Control.cs: fix HasChildViewStates.
1635
1636 2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1637
1638         * LosFormatter.cs: when the default ctor is used, MAC is disabled.
1639         Fixes bug #76240.
1640
1641 2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1642
1643         * ObjectTagBuilder.cs: only fail when no id and no attributes.
1644
1645 2005-09-23  Sebastien Pouliot  <sebastien@ximian.com>
1646
1647         * DataBindingCollection.cs: Using an hashtable is a nice trick but
1648         we need to copy values (not the DictionaryEntry) in CopyTo.
1649         * Page.cs: IsValid throws an exception if the page hasn't be 
1650         validated. VerifyRenderingInServerForm doesn't throw an exception
1651         during unit testing (without a context?) but does in normal ops.
1652
1653 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1654
1655         * LosFormatter.cs: the exceptions thrown have a 500 httpCode. Really
1656         save the allocation of new MemoryStreams when possible. Thanks to
1657         Sebastien again.
1658
1659 2005-09-23  Ben Maurer  <bmaurer@ximian.com>
1660
1661         * HtmlTextWriter.cs: Initial support for escaping.
1662
1663 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1664
1665         * ViewStateOutputHashStream.cs: Removed. It didn't last long.
1666
1667         * Page.cs: almost restored to its previous state, but now that we found
1668         that LosFormatter ctor that takes 'enableMac', moved the logic to
1669         add the hash and validate there. Thanks to Sebastien for his input.
1670         
1671         * LosFormatter.cs: implemented the missing ctors and support for
1672         "MAC" validation of the data.
1673
1674 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1675
1676         * Page.cs:
1677         * ViewStateOutputHashStream.cs: added support for viewstate MAC. It
1678         prevents the viewstate being altered on the client and it's disabled
1679         by default as per the documentation, but MS machine.config has it
1680         enabled in machine.config.
1681
1682 2005-09-22  Miguel de Icaza  <miguel@novell.com>
1683
1684         * DataBindingCollection.cs: Raise the event, remove MonoTODO.
1685
1686         * MinimizableAttributeTypeConverter.cs: Fix warning, compare to a
1687         string. 
1688
1689 2005-09-21  Sebastien Pouliot  <sebastien@ximian.com>
1690
1691         * Control.cs: Added null checks for Trace as it can be null when 
1692         rendering (like it was for 39 unit tests).
1693
1694 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1695
1696         * Page.cs: reverted hacks used with the wrong method of getting a
1697         control rendered size.
1698         * Control.cs: if the trace is enabled, save control rendered size.
1699
1700 2005-09-19  Sebastien Pouliot  <sebastien@ximian.com> 
1701  
1702         * Page.cs: Remove references to IPageParser (removed from 2.0 RC). We
1703         now use HtmlHeader directly.
1704         * UrlPropertyAttribute.cs: Removed AllowedTypes property (2.0 RC) and
1705         rewrote Equals to avoid dual type cast.
1706
1707 2005-09-19  Sebastien Pouliot  <sebastien@ximian.com>
1708
1709         * SupportsEventValidationAttribute.cs: New attribute added in 2.0 RC.
1710
1711 2005-09-19  Sebastien Pouliot  <sebastien@ximian.com> 
1712
1713         * ControlBuilder.cs: Added BuildObject override for 2.0 profile.
1714         * TagPrefixAttribute.cs: Added LinkDemand for AspNetHostingPermission
1715         with Minimal level. Fixed checks on ctor.
1716         * TemplateBuilder.cs: Added LinkDemand and InheritanceDemand for 
1717         AspNetHostingPermission with Minimal level.
1718         * TemplateContainerAttribute.cs: Added LinkDemand for 
1719         AspNetHostingPermission with Minimal level.
1720         * TemplateControl.cs: Added LinkDemand and InheritanceDemand for 
1721         AspNetHostingPermission with Minimal level. Fixed checks/exceptions. 
1722         Stubbed IFilterResolutionService for CAS testing.
1723         * TemplateControlParser.cs: Added LinkDemand and InheritanceDemand for
1724         AspNetHostingPermission with Minimal level.
1725         * TemplateParser.cs: Added LinkDemand and InheritanceDemand for 
1726         AspNetHostingPermission with Minimal level.
1727         * ThemeableAttribute.cs: Added LinkDemand for AspNetHostingPermission
1728         with Minimal level. Removed IDispose interface.
1729         * ToolboxDataAttribute.cs: Added LinkDemand for 
1730         AspNetHostingPermission with Minimal level. Fixed IsDefaultAttribute 
1731         to work on both 1.x and 2.0 profiles.
1732         * Triplet.cs: Added LinkDemand and (only for 1.x) InheritanceDemand 
1733         for AspNetHostingPermission with Minimal level.
1734         * UserControl.cs: Added LinkDemand and InheritanceDemand for 
1735         AspNetHostingPermission with Minimal level. Stubbed 
1736         IFilterResolutionService for CAS testing.
1737         * UserControlControlBuilder.cs: Added LinkDemand and InheritanceDemand
1738         for AspNetHostingPermission with Minimal level.
1739         * ValidationPropertyAttribute.cs: Added LinkDemand for 
1740         AspNetHostingPermission with Minimal level.
1741         * ValidatorCollection.cs: Added LinkDemand for AspNetHostingPermission 
1742         with Minimal level.
1743         * WebResourceAttribute.cs: Removed extra ctor and added setter to 
1744         PerformSubstitution.
1745         * WebServiceParser.cs: Added LinkDemand and InheritanceDemand for 
1746         AspNetHostingPermission with Minimal level.
1747
1748 2005-09-15  Sebastien Pouliot  <sebastien@ximian.com> 
1749  
1750         * ParseChildrenAttribute.cs: Added LinkDemand for 
1751         AspNetHostingPermission with Minimal level. Simplified Equals to avoid
1752         casting. Added new ctor and public fields (2.0). Changed 
1753         ChildControlType setter visibility to internal.
1754         * PartialCachingAttribute.cs: Added LinkDemand for 
1755         AspNetHostingPermission with Minimal level. Added new ctor and 
1756         SqlDependency property (2.0).
1757         * PartialCachingControl.cs: Added LinkDemand and InheritanceDemand for
1758         AspNetHostingPermission with Minimal level.
1759         * PersistenceModeAttribute.cs: Added LinkDemand for 
1760         AspNetHostingPermission with Minimal level. Simplified Equals to avoid
1761         casting.
1762         * PersistChildrenAttribute.cs: Added LinkDemand for 
1763         AspNetHostingPermission with Minimal level. Simplified Equals to avoid 
1764         casting.
1765         * PropertyConverter.cs: Added LinkDemand for AspNetHostingPermission 
1766         with Minimal level. Class is static in 2.0.
1767         * RootBuilder.cs: Added LinkDemand and, for 2.0, InheritanceDemand for 
1768         AspNetHostingPermission with Minimal level. Class is no more sealed in
1769         2.0. Added new (2.0) BuiltObjects property.
1770         * SimpleWebHandlerParser.cs: Added LinkDemand and InheritanceDemand 
1771         for AspNetHostingPermission with Minimal level.
1772         * StateItem.cs: Added LinkDemand for AspNetHostingPermission with 
1773         Minimal level.
1774         * StateBag.cs: Added LinkDemand for AspNetHostingPermission with 
1775         Minimal level. Removed SetDirty() which was called (2.0) but did 
1776         nothing.
1777         * StaticPartialCachingControl.cs: Added LinkDemand and 
1778         InheritanceDemand for AspNetHostingPermission with Minimal level.
1779
1780 2005-09-15  Sebastien Pouliot  <sebastien@ximian.com>
1781
1782         * Html32TextWriter.cs: Added LinkDemand and InheritanceDemand for 
1783         AspNetHostingPermission with Minimal level. Added new 2.0 properties
1784         (but the generated HTML doesn't use them).
1785         * HtmlTextWriter.cs: Added LinkDemand and InheritanceDemand for 
1786         AspNetHostingPermission with Minimal level.
1787         * ImageClickEventArgs.cs: Added LinkDemand for AspNetHostingPermission
1788         with Minimal level.
1789         * LiteralControl.cs: Added LinkDemand and InheritanceDemand for 
1790         AspNetHostingPermission with Minimal level. Default Text is null.
1791         * LosFormatter.cs: Added LinkDemand and InheritanceDemand for 
1792         AspNetHostingPermission with Minimal level. Stubbed new 2.0 ctor.
1793         * ObjectConverter.cs: Added LinkDemand and InheritanceDemand for 
1794         AspNetHostingPermission with Minimal level. Obsoleted ctor for 2.0.
1795         * ObjectTagBuilder.cs: Added LinkDemand for AspNetHostingPermission 
1796         with Minimal level. Added check for null id (HttpException).
1797         * Page.cs: Added LinkDemand and InheritanceDemand for 
1798         AspNetHostingPermission with Minimal level. Throw some HttpException 
1799         when no context is available.
1800         * Pair.cs: Added LinkDemand for AspNetHostingPermission with Minimal 
1801         level. InheritanceDemand too for 1.x.
1802         * PageParser.cs: Added LinkDemand for AspNetHostingPermission with 
1803         Minimal level.
1804
1805 2005-09-14  Sebastien Pouliot  <sebastien@ximian.com>
1806  
1807         * DataBinder.cs: Added LinkDemand for AspNetHostingPermission with 
1808         Minimal level. Fixed some exceptions.
1809         * DataBindingCollection.cs: Added LinkDemand for 
1810         AspNetHostingPermission with Minimal level. Added 2.0 method and 
1811         event.
1812         * DataBindingHandlerAttribute.cs: Added LinkDemand for 
1813         AspNetHostingPermission with Minimal level.
1814         * DataBinding.cs: Added LinkDemand for AspNetHostingPermission with
1815         Minimal level. Simplified Equals (reduced casts).
1816         * DataBoundLiteralControl.cs: Added LinkDemand for 
1817         AspNetHostingPermission with Minimal level. Implemented ITextControl
1818         for 2.0.
1819         * DesignerDataBoundLiteralControl.cs: Added LinkDemand for 
1820         AspNetHostingPermission with Minimal level.
1821         * DesignTimeParseData.cs: Added LinkDemand for AspNetHostingPermission
1822         with Minimal level. Added new 2.0 properties.
1823         * DesignTimeTemplateParser.cs: Added LinkDemand for 
1824         AspNetHostingPermission with Minimal level. Made class static and 
1825         stubbed missing methods (2.0).
1826         * EmptyControlCollection.cs: Added LinkDemand and InheritanceDemand 
1827         for AspNetHostingPermission with Minimal level. Changed Add* methods
1828         exceptions to HttpException.
1829
1830 2005-09-14  Sebastien Pouliot  <sebastien@ximian.com> 
1831
1832         * AttributeCollection.cs: Added LinkDemand for AspNetHostingPermission
1833         with Minimal level.
1834         * BaseParser.cs: Added LinkDemand and InheritanceDemand for 
1835         AspNetHostingPermission with Minimal level.
1836         * BasePartialCachingControl.cs: Added LinkDemand and InheritanceDemand
1837         for AspNetHostingPermission with Minimal level.
1838         * CompiledTemplateBuilder.cs: Added LinkDemand for 
1839         AspNetHostingPermission with Minimal level.
1840         * ConstructorNeedsTagAttribute.cs: Added LinkDemand for 
1841         AspNetHostingPermission with Minimal level.
1842         * ControlBuilderAttribute.cs: Added LinkDemand for 
1843         AspNetHostingPermission with Minimal level. Simplified Equals and 
1844         IsDefaultAttribute.
1845         * ControlBuilder.cs: Added LinkDemand and InheritanceDemand for 
1846         AspNetHostingPermission with Minimal level.
1847         * ControlCachePolicy.cs: Hided ctor and removed SupportsCaching setter
1848         * ControlCollection.cs: Added LinkDemand and InheritanceDemand for 
1849         AspNetHostingPermission with Minimal level. Fixed possible stack 
1850         overflow in Add* methods. Fixed CopyTo as we're not allocating the 
1851         array based on the number of items.
1852         * Control.cs: Added LinkDemand and InheritanceDemand for 
1853         AspNetHostingPermission with Minimal level. Fixed 2.0 signatures.
1854         * CssStyleCollection.cs: Added LinkDemand for AspNetHostingPermission 
1855         with Minimal level.
1856         * IStyleSheet.cs: Fixed parameter orders (2.0).
1857
1858 2005-09-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1859
1860         * TemplateParser.cs: default VS 2005 pages are compiled fine now.
1861
1862 2005-09-07  Chris Toshok  <toshok@ximian.com>
1863
1864         * MinimizableAttributeTypeConverter.cs: new class, whose existence
1865         we know about because of corcompare, and for whose implementation
1866         we have exclusively nunit to thank.
1867
1868 2005-09-06  Chris Toshok  <toshok@ximian.com>
1869
1870         * RootBuilder.cs (.cctor): doh, add all the new html controls
1871         here.
1872
1873 2005-08-31  Chris Toshok  <toshok@ximian.com>
1874
1875         * DataSourceSelectArguments.cs (Empty): this is apparently,
1876         according to corcompare, a property, not a field.  go figure.
1877         (Equals): implement.
1878         (IsEmpty): remove all mention of it.
1879         
1880 2005-08-29  Chris Toshok  <toshok@ximian.com>
1881
1882         * StateBag.cs (GetChar): add.
1883
1884 2005-08-28  Chris Toshok  <toshok@ximian.com>
1885
1886         * Page.cs: more random corcompare work.
1887         (PageAdapter): implement.
1888         
1889 2005-08-28  Chris Toshok  <toshok@ximian.com>
1890
1891         * Page.cs (.ctor): set our initial ID to "__Page".
1892         (SmartNavigation): obsolete in 2.0.
1893         (FindControl): new implementation.  Just check our own ID against
1894         the control we're looking for.  otherwise pass it along to
1895         base.FindControl.
1896         (GetPostBackClientHyperlink): obsolete in 2.0.
1897
1898 2005-08-28  Chris Toshok  <toshok@ximian.com>
1899
1900         * ClientScriptManager.cs: public sealed in 2.0
1901
1902         * IAdaptableTextWriter.cs: new 2.0 interface.
1903
1904         * IHierarchyData.cs: fix return type for GetParent.
1905
1906 2005-08-28  Chris Toshok  <toshok@ximian.com>
1907
1908         * Pair.cs: mark serializable and sealed in 2.0.
1909
1910 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com>
1911
1912         * CssStyleCollection.cs: Implemented setter for Value (2.0) using the
1913         existing (but internal) FillStyle method. Rewrote BagToString to use an
1914         HtmlTextWriter so we get the "right" format for background-image url.
1915
1916 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com> 
1917  
1918         * CssStyleCollection.cs: Implemented this[HtmlTextWriterStyle], 
1919         Remove(HtmlTextWriterStyle) and the getter for Value (all 2.0). Removed
1920         the extra space from last patch because they break some unit tests.
1921
1922 2005-08-26  Lluis Sanchez Gual  <lluis@novell.com> 
1923
1924         * CssStyleCollection.cs: Added some spacing.
1925         * HtmlTextWriter.cs: Made style and attribute tables static.
1926           Implemented StaticGetStyleName().
1927
1928 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com> 
1929  
1930         * CssStyleCollection.cs: Stubbed new 2.0 stuff to allow TableStyleTest
1931         compilation. 
1932         * HtmlTextWriter.cs: Fix style rendering for BackgroundImage in 2.0.
1933         The new rendering formats the value as "url(" + original + ")".
1934
1935 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com> 
1936
1937         * HtmlTextWriter.cs: Added support for VerticalAlign style (as it 
1938         depends on the HtmlTextWriterStyle ordering).
1939
1940 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1941
1942         * HtmlTextWriter.cs: remove 'mistaken end of statement' and FIXME.
1943
1944 2005-08-25  Sebastien Pouliot  <sebastien@ximian.com> 
1945
1946         * HtmlTextWriterStyle.cs: Added missing VerticalAlign in 2.0 (which 
1947         fixed the rest of the enum values).
1948         * UrlPropertyAttribute.cs: Removed the .ctor accepting an UrlTypes
1949         parameter to match 2.0 API. Added a setter to the AllowedTypes 
1950         property.
1951
1952 2005-08-24  Chris Toshok  <toshok@ximian.com>
1953
1954         * Control.cs (get_Adapter): Instead of throwing an exception, just
1955         return null, so we can write the rest of the Control specific
1956         Adapter code and just not enable any of those code paths until we
1957         have actual adapters.  Also flag TODO.
1958         (EnsureChildControls): Call out to Adapter.CreateChildControls if
1959         we have an adapter.
1960         (RenderChildren): call "RenderControl (writer, adapter)" if we
1961         have an adapter.
1962         (RenderControl): implement the adapter case naively.
1963         (LoadRecursive): call out to Adapter.OnLoad if we have one.
1964         (PreRenderRecursiveInternal): call out to Adapter.OnPrerender if
1965         we have one.
1966         (InitRecursive): call out to Adapter.OnInit if we have one.
1967
1968 2005-08-24  Chris Toshok  <toshok@ximian.com>
1969
1970         * Page.cs (GetPostBackEventReference): track change to
1971         ClientScriptManager and don't call a removed method.
1972
1973         * ClientScriptManager.cs: track more recent docs and corcompare
1974         output.
1975
1976 2005-08-24  Sebastien Pouliot  <sebastien@ximian.com>
1977
1978         * KeyedList.cs: Fixed bug when removing an unexisting object.
1979         * StateManagedCollection.cs: Fixed API for beta2. Fixed buglets found 
1980         in implementing RoleGroupCollection.
1981
1982 2005-08-22  Sebastien Pouliot  <sebastien@ximian.com>
1983
1984         * Page.cs: Use Control property (and not the _control variable) to get
1985         the User (so the virtual Control property can be overriden properly).
1986         Sadly this doesn't seems to be the case for other properties (like 
1987         Request).
1988
1989 2005-08-18  Dick Porter  <dick@ximian.com>
1990
1991         * ControlCachePolicy.cs, PersistChildrenAttribute.cs,
1992         UserControl.cs, DesignerDataBoundLiteralControl.cs,
1993         PageStatePersister.cs, DataBoundLiteralControl.cs, Control.cs,
1994         BasePartialCachingControl.cs, LiteralControl.cs: 2.0 API fixes and
1995         stubs and attribute fixes
1996
1997 2005-08-13  Sebastien Pouliot  <sebastien@ximian.com>
1998
1999         * Control.cs: Add protected virtual SetDesignModeState, in 2.0 
2000         profile, as this is required for the Login control.
2001
2002 2005-08-11  Dick Porter  <dick@ximian.com>
2003
2004         * CssStyleCollection.cs: Tweak the css string format to pass a
2005         unit test
2006
2007         * AttributeCollection.cs: Don't NRE if someone sets the "style"
2008         attribute to null.
2009
2010 2005-08-05  Ben Maurer  <bmaurer@ximian.com>
2011
2012         * HtmlTextWriter.cs: Revert the patch below, see test case
2013
2014 2005-08-05  Dick Porter  <dick@ximian.com>
2015
2016         * HtmlTextWriter.cs: Make <option> tags render inline, to match
2017         the ms output
2018
2019 2005-08-03  Ben Maurer  <bmaurer@ximian.com>
2020
2021         * HtmlTextWriter.cs: Optmize this not to do insane amounts of
2022         allocation for large pages, etc.
2023
2024 2005-07-30  Chris Toshok  <toshok@ximian.com>
2025
2026         * Page.cs (VerifyRenderingInServerForm): copy MS's error message
2027         since our form-errors jsunit tests depend on it.
2028
2029 2005-07-30  Chris Toshok  <toshok@ximian.com>
2030
2031         * DataBinder.cs (FormatResult): make internal, not private.
2032
2033 2005-07-29  Ben Maurer  <bmaurer@ximian.com>
2034
2035         * StateBag.cs: Don't remove when tracking viewstate, as per msft
2036         docs.
2037
2038 2005-07-29  Ben Maurer  <bmaurer@ximian.com>
2039
2040         * StateBag.cs: Actually *remove* items that are null. Duh.
2041
2042 2005-07-21  Peter Dennis Bartok  <pbartok@novell.com>
2043
2044         * Page.cs: Need to throw exception when accessing Request but no
2045           context exists
2046
2047 2005-07-20  Chris Toshok  <toshok@ximian.com>
2048
2049         * ClientScriptManager.cs (GetClientValidationEvent): the JS we
2050         stick in onclick handlers for buttons/links/etc.
2051
2052         * Page.cs (GetSubmitStatements): new function to return
2053         scriptManager.WriteSubmitStatements.  Used by HtmlForm.
2054         (AreValidatorsUplevel): used by many of the button/linkbutton
2055         controls (the ones that can CauseValidation) to tell whether or
2056         not to emit client side validation calls.
2057
2058 2005-07-20  Chris Toshok  <toshok@ximian.com>
2059
2060         * WebResourceAttribute.cs: make internal (and available) in
2061         !NET_2_0.
2062
2063 2005-07-20  Chris Toshok  <toshok@ximian.com>
2064
2065         * ClientScriptManager.cs (GetWebResourceUrl): make internal (but
2066         available) in !NET_2_0.
2067
2068 2005-07-18  Peter Dennis Bartok  <pbartok@novell.com>
2069
2070         * Control.cs: Added IDataBindingsAccessor interface methods
2071
2072 2005-07-18  Ben Maurer  <bmaurer@ximian.com>
2073
2074         * HtmlTextWriter.cs: Fix nested indentation
2075
2076 2005-07-18  Peter Dennis Bartok  <pbartok@novell.com>
2077
2078         * Control.cs: Added missing IParserAccessor.AddParsedSubObject 
2079           interface method
2080
2081 2005-07-18  Ben Maurer  <bmaurer@ximian.com>
2082
2083         * HtmlTextWriter.cs: Fix indentation (somewhat at least)
2084
2085 2005-07-18  Peter Dennis Bartok  <pbartok@novell.com>
2086
2087         * Control.cs:
2088           - Default name for controls on MS.Net is "_ctl" not "_ctrl"
2089           - MS does not append 'a' for auto-generated names
2090
2091 2005-07-17  Ben Maurer  <bmaurer@ximian.com>
2092
2093         * AttributeCollection.cs: Use the invariant culture.
2094
2095         * StateBag.cs: "Duh" optimization: return null when there are no
2096         dirty items in the view state
2097
2098 2005-07-14  Ben Maurer  <bmaurer@ximian.com>
2099
2100         * StateBag.cs: A "short" version of my favorite method.
2101
2102         * HtmlTextWriter.cs: New method to get the tag name staticly.
2103
2104 2005-07-14  Duncan Mak  <duncan@novell.com>
2105
2106         * DataBindingHandlerAttribute.cs: Fixed after receiving some
2107         comments from Gonzalo.
2108
2109 2005-07-13  Jackson Harper  <jackson@ximian.com>
2110
2111         * PropertyConverter.cs: No public constructors.
2112
2113 2005-07-13  Ben Maurer  <bmaurer@ximian.com>
2114
2115         * HtmlTextWriter.cs: Remove debugging spew. Style cleanup
2116
2117 2005-07-12  Ben Maurer  <bmaurer@ximian.com>
2118
2119         * HtmlTextWriter.cs: Make styles work.
2120
2121 2005-07-11  Peter Dennis Bartok  <pbartok@novell.com>
2122
2123         * AttributeCollection.cs: 
2124           - Changes to match MS behaviour, the "style" attribute is always 
2125             added to the list, in addition to being added to the 
2126             CssStyleCollection. Also added check for "style" attribute when 
2127             setting via index setter
2128           - When "Style" attribute is added, CssStyleCollection is 
2129             automatically created
2130           - The style keyword needs to be lowercase
2131
2132 2005-07-11  Ben Maurer  <bmaurer@ximian.com>
2133
2134         * HtmlTextWriter.cs: Missing a PopEndTag here.
2135
2136         * PropertyConverter.cs: Pass tests
2137
2138 2005-07-09  Miguel de Icaza  <miguel@novell.com>
2139
2140         * DataBindingHandlerAttribute.cs: Create the "Default" property.
2141
2142 2005-07-09  Duncan Mak  <duncan@novell.com>
2143
2144         * DataBindingHandlerAttribute.cs: Implemented.
2145
2146 2005-07-08  Ben Maurer  <bmaurer@ximian.com>
2147
2148         * HtmlTextWriter.cs: Much better compliance with msft
2149
2150 2005-07-08  Jackson Harper  <jackson@ximian.com>
2151
2152         * ToolbarDataAttribute.cs: New implementation.
2153
2154 2005-07-07  Jackson Harper  <jackson@ximian.com>
2155
2156         * PropertyConverter.cs: New implementation.
2157
2158 2005-07-07  Ben Maurer  <bmaurer@ximian.com>
2159
2160         * StateBag.cs: Noticed an issue where SetDirty was called when the
2161         key did not exist.
2162
2163 2005-07-07  Ben Maurer  <bmaurer@ximian.com>
2164
2165         * StateBag.cs: Add a method that gets a string or else a default
2166         value.
2167
2168 2005-07-07  Dick Porter  <dick@ximian.com>
2169
2170         * StateBag.cs: Added internal SetDirty (void) method to fix the
2171         build
2172
2173 2005-07-07  Sebastien Pouliot  <sebastien@ximian.com>
2174
2175         * HtmlTextWriter.cs: Small fixlet when attribute has no value.
2176
2177 2005-07-07  Miguel de Icaza  <miguel@novell.com>
2178
2179         * HtmlTextWriter.cs: Return the stuff in lowercase to pass the
2180         tests. 
2181
2182         * StateBag.cs: Add NET_2_0 SetDirty method to get the build
2183         going. 
2184
2185 2005-07-07  Sebastien Pouliot  <sebastien@ximian.com>
2186
2187         * HtmlTextWriter.cs: Small fixlet (required for the unit tests).
2188
2189 2005-07-06  Ben Maurer  <bmaurer@ximian.com>
2190
2191         * HtmlTextWriter.cs: Make sure to clear attributes when they are
2192         written.
2193
2194         * StateBag.cs: New impl
2195
2196 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2197
2198         * Page.cs:
2199         * Control.cs: avoid the creation of the EventHandlerList and accessing 
2200         to it whenever possible. Fix ENABLE_THEMING constant.
2201
2202 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2203
2204         * TemplateParser.cs:
2205         * TemplateControlParser.cs:
2206         * UserControlParser.cs: detect circular references when a control tries
2207         to register itself as a tag. Fixes bug #75376.
2208
2209 2005-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2210
2211         * PageParser.cs: don't try to compile the master page if it wan't
2212         provided. Use MapPath from the base classes instead of the long
2213         version. Fixes bug #75269 that prevented xsp2 from working properly.
2214
2215 2005-06-13  Lluis Sanchez Gual <lluis@novell.com> 
2216
2217         * MasterPage.cs: Clear the default content of placeholders before
2218         adding the page content. Fixes bug #75193.
2219
2220 2005-06-13  Lluis Sanchez Gual <lluis@novell.com>
2221
2222         * PageParser.cs: Added MasterType property. Get the type from the
2223         MasterType directive.
2224         * MasterPageParser.cs: Added GetCompiledMasterType method.
2225
2226 2005-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2227
2228         * UserControl.cs:
2229         * Page.cs:
2230         * Control.cs: updates for 1.1 SP1
2231
2232 2005-06-06  Lluis Sanchez Gual <lluis@novell.com>
2233
2234         * Control.cs: Added new DataBind() overload for 2.0. The old
2235         method calls this new overload.
2236
2237 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2238
2239         * TemplateParser.cs: ignore empty assembly.Location for in-memory
2240         generated assemblies.
2241
2242 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2243
2244         * Page.cs: added AddContentTemplate method.
2245
2246 2005-05-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2247
2248         * AttributeCollection.cs: html-encode attribute values. Fixes
2249         bug #73771.
2250
2251 2005-05-26  Lluis Sanchez Gual <lluis@novell.com>
2252
2253         * DataSourceView.cs: Fix api.
2254         * NonVisualControlAttribute.cs: Implemented.
2255         * IDataItemContainer.cs: Added missing properties.
2256         * Control.cs: Added new EnableTheming and SkinID properties.
2257         * HierarchicalDataSourceControl.cs: Implemented missing methods.
2258
2259 2005-05-13  Lluis Sanchez Gual <lluis@novell.com>
2260
2261         * ControlCollection.cs: Added internal setter for ReadOnly.
2262
2263 2005-05-09 Geoff Norotn <gnorton@customerdna.com>
2264
2265         * TemplateParser.cs: Silently remove the CodeFile attribute that ASP.NET 2.0
2266         uses instead of codebehind.
2267
2268 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2269
2270         * Page.cs: as setting CurrentCulture is slow, don't set it if the
2271         culture has not changed since before the page started processing.
2272
2273 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2274
2275         * TemplateParser.cs: LoadWithPartialName returns null if the assembly is
2276         not found.
2277
2278 2005-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2279
2280         * TemplateParser.cs:
2281         * SimpleWebHandlerParser.cs: removed values assigned and neved used.
2282
2283 2005-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2284
2285         * SimpleWebHandlerParser.cs:
2286         * TemplateParser.cs: always get the location (full path) for assemblies,
2287         even the ones from the GAC.
2288
2289         * BaseCompiler.cs: check that DynamicBase directory exists before
2290         creating the TempFileCollection.
2291
2292 2005-04-22  Lluis Sanchez Gual <lluis@novell.com>
2293
2294         * ClientScriptManager.cs: Use a linked list instead of a Hashtable
2295         to store the scripts. In this way, scripts will be rendered in the
2296         same order as they have been registered. It shouldn't be slower
2297         since pages don't have many scripts.
2298
2299 2005-04-21  Lluis Sanchez Gual <lluis@novell.com>
2300
2301         * IEditableTextControl.cs: Implemented.
2302         * DataBinder.cs: Marked constructor as obsolete in 2.0.
2303         In GetDataItem, check for the IDataItemContainer interface
2304         in the container.
2305         * TemplateControl.cs: Improved check for data item.
2306
2307 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2308
2309         * TemplateParser.cs: we still need LoadWithPartialName if Load fails.
2310         * Page.cs: ensure _requiresPostBack is emptied if we didn't have a copy
2311         for second postback.
2312
2313 2005-04-20  Rafael Teixeira <rafaelteixeirabr@hotmail.com>
2314         * TemplateParser.cs: Adding support for Strict/Explicit attributes 
2315         for @Page/@Control directives as documented at 
2316         http://msdn.microsoft.com/library/en-us/cpgenref/html/cpconControlDirective.asp.
2317         First step don't choke on them. Fixing #74671
2318
2319 2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2320
2321         * TemplateParser.cs: use Load instead of LoadWithPartialName. That was
2322         there from the time when Load wasn't working properly. First part of the
2323         fix to 74500.
2324
2325 2005-04-15  Lluis Sanchez Gual <lluis@novell.com>
2326
2327         * ControlBuilder.cs: The BindingContainerType property happens
2328         to exist in 2.0, so I made it public. Added ParentTemplateBuilder,
2329         which is used to get the binding container that is managing
2330         the current two-way binding context.
2331         * TemplateBuilder.cs: Added some methods and an internal class
2332         to support two-way bindings.
2333         * CompiledBindableTemplateBuilder.cs: Implemented.
2334         * IBindableTemplate.cs: This interface inherits from ITemplate.
2335
2336 2005-04-14  Lluis Sanchez Gual <lluis@novell.com>
2337
2338         * ControlBuilder.cs: Added BindingContainerType property,
2339         which works like NamingContainerType but takes into account
2340         template builders with a specific container type (specified
2341         using the TemplateContainerAttribute.
2342         * StateManagedCollection.cs: Reimplemented Save/Load view
2343         state methods. The existing implementation was not correct
2344         in all cases.
2345
2346 2005-04-08  Lluis Sanchez Gual <lluis@novell.com>
2347
2348         * DataSourceView.cs: Added null check.
2349
2350 2005-04-07  Lluis Sanchez Gual <lluis@novell.com>
2351
2352         * TemplateControl.cs:
2353         * Page.cs: Moved Eval and XPath from Page
2354         to TemplateControl.
2355         * StateManagedCollection.cs: Avoid saving null state.
2356
2357 2005-04-01  Lluis Sanchez Gual <lluis@novell.com>
2358
2359         * DataSourceView.cs: Rethrow exceptions not handled by operation
2360         callbacks.
2361         * ITextControl.cs: Removed event.
2362         * CollectionBuilder.cs: Don't crash when a collection has more
2363         than one indexer.
2364
2365 2005-03-23  Lluis Sanchez Gual <lluis@novell.com>
2366
2367         * Control.cs: Added a new internal property: HasRenderMethodDelegate.
2368         * HtmlTextWriterAttribute.cs: Replaced wrong enum value.
2369         * HtmlTextWriter.cs: Register new ASP.NET 2.0 attributes
2370
2371 2005-03-16  Lluis Sanchez Gual  <lluis@novell.com>
2372
2373         * ClientScriptManager.cs: Fix build.
2374
2375 2005-03-11  Lluis Sanchez Gual <lluis@novell.com>
2376
2377         * Utils.cs, Control.cs: Don't use Page.GetPostBackClientEvent
2378         since it is deprecated in 2.0.
2379         * Page.cs: Deprecated GetPostBackClientEvent and similar methods
2380         in 2.0. Moved callback management methods to ClientScriptManager.
2381         * ClientScriptManager.cs: Moved here deprecated methods from Page.
2382         In GetPostBackEventReference (PostBackOptions), don't use the
2383         WebForm_DoPostback script if the post can be done with a simple
2384         __doPostBack call.
2385         * PostBackOptions.cs: Fixed default values for some properties.
2386
2387 2005-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2388
2389         * Control.cs: in FindControl, throw if there's more than one control
2390         with the same ID. Fixes bug #73479.
2391
2392 2005-03-04  Lluis Sanchez Gual <lluis@novell.com>
2393
2394         * Page.cs: Load control state before loading view state, and the
2395         same for saving.
2396         * DataSourceSelectArguments.cs: Fix recursive property call.
2397
2398 2005-02-25  Lluis Sanchez Gual <lluis@novell.com>
2399
2400         * DataSourceView.cs: Fixed incorrect implementation of
2401         RaiseUnsupportedCapabilityError.
2402         * IDataItemContainer.cs: Added new properties.
2403         * Page.cs: Implemented Form property.
2404         * Control.cs: Fixed formatting.
2405         * StateManagedCollection.cs: Track view state of items loaded
2406         in LoadViewState.
2407
2408 2005-02-22  Lluis Sanchez Gual <lluis@novell.com>
2409
2410         * FilterableAttribute.cs: Fix endless loop.
2411
2412 2005-02-18  Lluis Sanchez Gual <lluis@novell.com>
2413
2414         * Page.cs: Implemented missing events.
2415
2416 2005-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2417
2418         * BoundPropertyEntry.cs:
2419         * PropertyEntry.cs:
2420         * TwoWayBoundPropertyEntry.cs: implemented.
2421
2422 2005-02-10  Lluis Sanchez Gual <lluis@novell.com>
2423
2424         * Page.cs: Added support for validation groups. Some fixes in
2425         SavePageControlState().
2426         * IFilterResolutionService.cs: Removed extra field.
2427         * INavigateUIData.cs: Added missing field.
2428         * ICheckBoxControl.cs, IStaticTextControl.cs, ITextControl.cs:
2429         Implemented new interfaces.
2430
2431 2005-02-04  Lluis Sanchez Gual <lluis@novell.com>
2432
2433         * Page.cs: Implemented support for cross page postback. Implemented
2434         support for postback with options. Fixed several method and property
2435         signatures for 2.0.
2436         * PostBackOptions.cs: Added some TODOs.
2437
2438 2005-02-02  Lluis Sanchez Gual <lluis@novell.com>
2439
2440         * ParseChildrenAttribute.cs: Set the correct default value for the
2441         childType property.
2442
2443 2005-01-28  Lluis Sanchez Gual <lluis@novell.com>
2444
2445         * ParseChildrenAttribute.cs: Added 2.0 property.
2446         * Pair.cs, Triplet.cs: Make classes serializable and sealed in 2.0.
2447         * Page.cs: Added support for control state.
2448         * TemplateBuilder.cs: ContainerType should be internal.
2449         * Control.cs: Added some new 2.0 methods.
2450
2451 2005-01-21  Lluis Sanchez Gual <lluis@novell.com>
2452
2453         * PageParser.cs: Read the MasterPageFile attribute.
2454         * UserControlParser.cs: Not sealed any more since we need to inherit from
2455         it. Added new constructor with an additional "type" parameter.
2456         * MasterPageParser.cs: Parser for master pages.
2457         * Page.cs: Added support for master pages.
2458         * MasterPage.cs: Implemented.
2459
2460 2005-01-10  Lluis Sanchez Gual <lluis@novell.com>
2461         
2462         * TemplateBuilder.cs: Added a special constructor that takes an
2463         attribute provider as parameter. The container type for the template
2464         may be defined in a TemplateContainerAttribute.
2465         * ControlBuilder.cs: Create the TemplateBuilder using that special
2466         constructor.
2467         * TemplateContainerAttribute.cs: Added 2.0 property and ctor.
2468
2469 2004-12-20 Lluis Sanchez Gual  <lluis@novell.com>
2470
2471         * IStyleSheet.cs: Added missing "using".
2472         * Page.cs: Implemented Header property.
2473         * CssStyleCollection.cs: Made BagToString method internal.
2474         * RootBuilder.cs: Register HtmlHead control.
2475         
2476 2004-12-17 Lluis Sanchez Gual  <lluis@novell.com>
2477
2478         * CssStyleCollection.cs: Minor (!) fix.
2479         * HtmlTextWriter.cs: Register names for new 2.0 styles.
2480
2481 2004-12-17 Lluis Sanchez Gual <lluis@novell.com>
2482
2483         * CssStyleCollection.cs: Make it work as a standalone collection.
2484         * HtmlTextWriter.cs: Added static method for getting style names.
2485
2486 2004-12-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2487
2488         * ControlCollection.cs: fix off-by-one and store a null at the end to
2489         remove the reference to the removed control.
2490
2491 2004-12-10 Lluis Sanchez Gual <lluis@novell.com>
2492
2493         * ClientScriptManager.cs: Added GetScriptLiteral helper method.
2494         
2495 2004-12-02 Lluis Sanchez Gual <lluis@novell.com>
2496
2497         * Page.cs: Added support for callback events. Moved theform variable
2498         outside the __doPostBack function, so it can be used by other
2499         scripts.
2500         * StateBag.cs: Implemented SetDirty().
2501
2502 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2503
2504         * Control.cs: when saving "Visible" into the ViewState, save the value
2505         for this precise control, as using the Visible property might give us
2506         Control's parent visibility. Fixes bug #69200.
2507
2508 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2509
2510         * Control.cs: fixed ResolveUrl for relative URLs when using cookie-less
2511         sessions.
2512
2513         * System.Web.Util/UrlUtils.cs: made (Insert|Get|Remove)SessionId use
2514         the appRoot + SessionID + vpath format.
2515
2516         Fixes the 3 issues reported in bug #66623.
2517
2518 2004-11-26 Lluis Sanchez Gual <lluis@novell.com>
2519
2520         * Page.cs: Moved code for managing client scripts to ClientScriptManager,
2521         which is public in 2.0 and internal in 1.1.
2522         * ClientScriptManager.cs: Implemented.
2523
2524 2004-11-25 Sanjay Gupta <gsanjay@novell.com>
2525
2526         * DataSourceView.cs: Removed extra method.
2527
2528 2004-11-24 Sanjay Gupta <gsanjay@novell.com>
2529         
2530         * DataSourveViewSelectCallback.cs: Corrected method signature.
2531
2532 2004-11-23 Lluis Sanchez Gual <lluis@novell.com>
2533
2534         * ControlBuilder.cs: Always check for the ParseChildrenAttribute,
2535         even if the class doesn't implement IParserAccessor.
2536         * WebResourceAttribute.cs: Allow multiple attributes of this type.
2537
2538 2004-11-15 Lluis Sanchez Gual <lluis@novell.com>
2539
2540         * DataSourceView.cs: Moved here implementation of DataSourceViewChanged 
2541         from SqlDataSourceView.cs.
2542
2543 2004-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2544
2545         * Control.cs: unified a few bool fields into an int one.
2546
2547         * ControlCollection.cs: use an array internally instead of always
2548         allocating an arraylist. Also added our own enumerator.
2549         
2550         * EmptyControlCollection.cs: there's no 'special' ctor now in the base
2551         class.
2552
2553 2004-11-05 Sanjay Gupta <gsanjay@novell.com>
2554
2555         * DataSourceView.cs: Changes in access modifiers of methods.
2556
2557 2004-10-20 Sanjay Gupta <gsanjay@novell.com>
2558
2559         * DataSourceCapabilities.cs: Added Flags attribute.
2560         * DataSourceSelectArguments.cs: Updated.
2561         * DataSourveView.cs: Updated.
2562
2563 2004-10-19 Sanjay Gupta <gsanjay@novell.com>
2564
2565         * HierarchicalDataSourceView.cs: Corrected class definition and updated.
2566
2567 2004-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2568
2569         * HierarchicalDataSourceView.cs: fix typo.
2570
2571 2004-10-18 Sanjay Gupta <gsanjay@novell.com>
2572
2573         * HierarchicalDataSourceView.cs: Updated.
2574
2575 2004-10-18 Sanjay Gupta <gsanjay@novell.com>
2576
2577         * DataSourceSelectArguments.cs: Initial implementation.
2578
2579 2004-10-12 Sanjay Gupta <gsanjay@novell.com>
2580
2581         * UrlPropertyAttribute.cs: Corrected implementation of Equals () method.
2582
2583 2004-10-12 Sanjay Gupta <gsanjay@novell.com>
2584
2585         * UrlTypes.cs: Updated.
2586
2587 2004-10-12 Sanjay Gupta <gsanjay@novell.com>
2588
2589         * UrlPropertyAttribute.cs: Added new file.
2590
2591 2004-10-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2592
2593         * Control.cs: even if the control has no children the naming container
2594         may contain the control we're looking for. Fixes bug #67304.
2595
2596 2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2597
2598         * AspGenerator.cs: added OtherTags.
2599
2600 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
2601
2602         * ControlValuePropertyAttribute.cs: Initial implementation.
2603
2604 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
2605
2606         * IPaginationContainer.cs: Corrected name of class.
2607
2608 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
2609
2610         * IDReferencePropertyAttribute.cs: Completed implementation.
2611
2612 2004-09-24 Sanjay Gupta <gsanjay@novell.com>
2613
2614         * ThemeableAttribute.cs:
2615         * FilterableAttribute.cs: Code scrubbing and optimization.
2616
2617 2004-09-14 Sanjay Gupta <gsanjay@novell.com>
2618
2619         * ThemeableAttribute.cs: Completed implementation.
2620
2621 2004-09-14 Sanjay Gupta <gsanjay@novell.com>
2622
2623         * FilterableAttribute.cs: Completed implementation.
2624
2625 2004-09-14 Sanjay Gupta <gsanjay@novell.com>
2626
2627         * Control.cs: Added new attributes and a method.
2628         * FilterableAttribute.cs: New attribute, initial implementation.
2629         * ThemeableAttribute.cs: New attribute, initial implemenataion.
2630
2631 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2632
2633         * TemplateParser.cs: ensure bin directory exists before trying to access
2634         it. Fixes bug #65446 (not closed yet due to dependencies).
2635
2636 2004-09-09 Sanjay Gupta <gsanjay@novell.com>
2637
2638         * Control.cs: Implemented methods of interface IExpressionAccessor.
2639
2640 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2641
2642         * SimpleWebHandlerParser.cs: correctly cache Type instead of the
2643         assembly for ashx/asmx. Otherwise we need to open the file and check
2644         for the class name in there. Thanks to Ben for pointing this out.
2645
2646 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2647
2648         * TemplateParser.cs: removed creation of StringWriter.  It's not used.
2649         * Control.cs: don't create the EventHandlerList until requested.
2650
2651 2004-09-03 Sanjay Gupta <gsanjay@novell.com>
2652         
2653         * Control.cs: Added new interfaces implemented in .Net 2.0. 
2654         * ExpressionBinding.cs: Added new class.
2655         * ExpressionBindingCollection.cs: Added new class.
2656         
2657 2004-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2658
2659         * LiteralControl.cs: stylized. This control has EnableViewState disabled
2660         by default and doesn't get an automatic ID. When text is null -> "".
2661
2662 2004-08-31 Sanjay Gupta <gsanjay@novell.com>
2663         
2664         * ControlSkinProc.cs:
2665         * DataSourceViewOperationCallback.cs:
2666         * DataSourceViewSelectCallback.cs:
2667         * ExtractTemplateValuesMethod.cs: Explicit modifier "sealed" not 
2668         required in definition as delegates by default are sealed.
2669         
2670 2004-08-31 Sanjay Gupta <gsanjay@novell.com>
2671
2672         * IDReferencePropertyAttribute.cs: Corrected and changed from interface
2673         to class.
2674         * IMobileTextWriter.cs: Corrected method signatures.
2675
2676 2004-08-09 Sanjay Gupta <gsanjay@novell.com>
2677
2678         * ControlSkinProc.cs:
2679         * DataSourceViewOperationCallback.cs:
2680         * DataSourceViewSelectCallback.cs:
2681         * ExtractTemplateValuesMethod.cs: Added new delegates.
2682
2683 2004-08-06 Sanjay Gupta <gsanjay@novell.com>
2684
2685         * IBindableTemplate.cs:
2686         * ICallbackEventHandler.cs:
2687         * IControlBuilderAccessor.cs:
2688         * IControlDesignerAccessor.cs:
2689         * IControlTypeFilter.cs:
2690         * IDataItemContainer.cs:
2691         * IDataSourceViewSchemaAccessor.cs:
2692         * IDReferencePropertyAttribute.cs:
2693         * IExpressionsAccessor.cs:
2694         * IFilterResolutionService.cs:
2695         * IItemPaginationInfo.cs:
2696         * IMobileTextWriter.cs:
2697         * IPageHeader.cs:
2698         * IPaginationContainer.cs:
2699         * IPaginationInfo.cs:
2700         * IResourceResolutionService.cs:
2701         * IResourceUrlGenerator.cs:
2702         * IStateFormatter.cs:
2703         * IStyleSheet.cs:
2704         * IThemeResolutionService.cs:
2705         * IUrlResolutionService.cs:
2706         * IUserControlTypeResolutionService.cs: Added new files for Interfaces.
2707
2708 2004-08-05 Sanjay Gupta <gsanjay@novell.com>
2709
2710         * PostBackOptions.cs: Added new file and implemented the class.
2711
2712 2004-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2713
2714         * HtmlTextWriterTag.cs: readded author name.
2715
2716 2004-08-04 Sanjay Gupta <gsanjay@novell.com>
2717
2718         * HtmlTextWriterAttribute.cs:
2719         * HtmlTextWriterStyle.cs: Added .Net 2.0 enumerations.
2720         * CompilationMode.cs:
2721         * ConflictOptions.cs:
2722         * DataSourceCacheExpiry.cs:
2723         * DataSourceCapabilities.cs:
2724         * DataSourceOperation.cs:
2725         * TemplateContentType.cs:
2726         * TemplateInstance.cs:
2727         * UrlTypes.cs:
2728         * VerificationConditionalOperator.cs:
2729         * VerificationReportLevel.cs:
2730         * VerificationRule.cs:
2731         * XhtmlMobileDocType.cs: Added enumerations.
2732
2733 2004-07-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2734
2735         * Control.cs: style. Reverted previous patch modification of
2736         TemplateSourceDirectory (failed when the control is reparented). Use
2737         HasControls() and Controls all over instead of _controls, as Controls
2738         property and HasControls() might be overriden.
2739
2740 2004-07-27 Alon Gazit <along@mainsoft.com>
2741
2742         * Control.cs: Changed the implementation of TemplateSourceDirectory
2743         and GetDefaultName(). replaced foreach statements with for statements, 
2744         in order to improve performence.
2745
2746 2004-07-27 Alon Gazit <along@mainsoft.com>
2747
2748         * Page.cs: changed the implementation of GetViewStateString().
2749         if the view state object is null there is no need to perform 
2750         Serialization.
2751         
2752 2004-07-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2753
2754         * TemplateControl.cs: don't include private methods of base classes when
2755         auto-attaching events. Fixes bug 61569.
2756
2757 2004-07-14 Alon Gazit <along@mainsoft.com>
2758
2759         * HtmlTextWriter.cs: changed the Hashtables to case insensitive.         
2760 2004-07-08 Pablo Baena <pbaena@gmail.com>
2761
2762         * Page.cs: added workaround for __doPostBack script on Netscape 4.xx
2763         
2764 2004-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2765
2766         * Page.cs: added additional checks for saving/displaying trace data.
2767
2768         * PageParser.cs: removed checks for trace enabled in configuration
2769         files.
2770
2771 2004-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2772
2773         * ControlCollection.cs: when clearing the control collection, tell the
2774         owners about the removal. Fixes bug #60800.
2775
2776 2004-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2777
2778         * Page.cs: don't nullify _context after processing the request as there
2779         are events not triggered yet. Fixes bug #60726.
2780
2781 2004-06-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2782
2783         * HtmlTextWriter.cs: only create a closing tag for unknown tags. Fixes
2784         bug #60681.
2785
2786 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2787
2788         * PageParser.cs:
2789         * UserControlParser.cs: set the page/user control base type even when no
2790         default directive provided. Fixes bug #60572.
2791
2792 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2793
2794         * PageParser.cs: use default trace settings from web.config and check
2795         if trace is only requested for local connections. Fixes bug #60180.
2796
2797 2004-06-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2798
2799         * SimpleWebHandlerParser.cs: implemented GetCompiledTypeFromCache. When 
2800         we read the default directive, check the cache for the Type and if
2801         present, don't keep reading and store the type found.
2802
2803         * WebHandlerParser.cs:
2804         * WebServiceParser.cs: try GetCompiledTypeFromCache before actually
2805         compiling.
2806
2807 2004-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2808
2809         * Control.cs: properly fixed bug #59794.
2810
2811 2004-06-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2812
2813         * Control.cs:
2814         (ResolveUrl): fixed typo when dealing with relative urls. Closes bug
2815         #59794.
2816
2817 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2818
2819         * SimpleWebHandlerParser.cs:
2820         * TemplateParser.cs: pass the language when compiling from a file.
2821
2822 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2823
2824         * SimpleWebHandlerParser.cs: if we have a global.asax, move its
2825         reference to the end to help mcs loading the assemblies. Fixes bug
2826         #58768.
2827
2828         * TemplateParser.cs: same as above. Removed some kludges to workaround
2829         loading assemblies from bin path that are now in the runtime. Don't
2830         load the assemblies in bin if not needed, but still reference them
2831         when compiling.
2832
2833 2004-06-07  Alon Gazit <along@mainsoft.com>
2834         * Page.cs: Changed Page.ProcessPostData().
2835         After the change ,the state of controls that aren't visible is saved 
2836         during a postback.
2837         
2838 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2839
2840         * Page.cs: removed obsolete MonoTODO from RegisterOnSubmitStatement.
2841
2842 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2843
2844         * Page.cs: IsPostBack also returns true when method is GET and we have
2845         viewstate information in the query string. Fixes bug #58151.
2846
2847 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2848
2849         * Page.cs: removed obsolete TODO. Only check if Trace is enabled, not
2850         HttpRutime.TraceManager.
2851
2852         * PageParser.cs: for 'trace' we have 2 variables now.  Added support
2853         for 'buffer' attribute.
2854
2855 2004-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2856
2857         * Page.cs: implemented ClientTarget.
2858         * PageParser.cs: support for clientTarget and check for validity.
2859
2860 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2861
2862         * Control.cs:
2863         * Html32TextWriter.cs:
2864         * HtmlTextWriter.cs:
2865         * SimpleWebHandlerParser.cs:
2866         * TemplateControl.cs: Added protected missing members and attributes.
2867
2868 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2869
2870         * ObjectStateFormatter.cs: use ObjectFormatter methods instead of
2871         calling a protected method of another object.
2872
2873 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
2874
2875         * ObjectStateFormatter.cs : csc build fix. Protected Read()/Write()
2876           (of other objects) are called in TypeConverterFormatter.
2877
2878 2004-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2879
2880         * ObjectStateFormatter.cs: before choosing the binary formatter, check
2881         if the object type has a TypeConverter that can convert to/from string.
2882         Fixes bug #59495.
2883
2884         * Page.cs: call GetViewStateString from outside the WriteLine. This
2885         allows writing to the Response when getting the string without breaking
2886         the HTML generated.
2887
2888 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2889
2890         * HtmlTextWriter.cs: render end tag for unknown tags.
2891         Patch frmo Markus Krutner. Fixes bug #59466.
2892
2893 2004-05-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2894
2895         * Page.cs: call DeterminePostBackMode only once per request. Patch by
2896         Evain Jb.
2897
2898 2004-05-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2899
2900         * Html32TextWriter.cs: stub contributed by Matthijs ter Woord
2901         [meddochat].
2902
2903         * ObjectTagBuilder.cs: remove the HasBody override as MS does not have
2904         that.
2905
2906 2004-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2907
2908         * SimpleWebHandlerParser.cs:
2909         * TemplateParser.cs: for the assembly names given in the 'assembly'
2910         attribute, use LoadWithPartialName instead of Load.
2911 2004-03-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2912
2913         * Page.cs: return HttpContext.Current if _context has not yet been
2914         assigned to. Fixes bug #55245.
2915
2916 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2917
2918         * TemplateParser.cs: don't add import statement or assemblies from
2919         global.asax to every file. Fixes bug #55496.
2920
2921 2004-03-09  Juraj Skripsky <juraj@hotfeet.ch>
2922
2923         * DataBinder.cs: allow unquoted string expressions (e.g. "[test]") and
2924         handle single quotes and a few corner cases correctly (see test cases).
2925
2926 2004-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2927
2928         * TemplateControl.cs: fixed typos and added new method names to the set
2929         of page events.
2930
2931 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2932
2933         * ControlBuilder.cs: added SetTagName().
2934
2935         * ObjectTagBuilder.cs: use SetTagName so that we can properly close
2936         <object> builders if the closing tag is provided.
2937
2938 2004-02-16  Jackson Harper <jackson@ximian.com>
2939
2940         * Page.cs: Set cacheability for Location.DownStream.
2941         
2942 2004-02-10  Jackson Harper <jackson@ximian.com>
2943
2944         * TemplateParser.cs: Use full path if the assembly is in the
2945         private bin directory. Patch by Gonzalo Paniagua Javier.
2946         
2947 2004-02-09  Jackson Harper <jackson@ximian.com>
2948
2949         * Page.cs: Set cacheability for server side caching.
2950         
2951 2004-01-30  Jackson Harper <jackson@ximian.com>
2952
2953         * Control.cs: Ensure that dynamically loaded controls are
2954         initialized.
2955         
2956 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2957
2958         * ApplicationFileParser.cs: check for error in directives. Use
2959         GlobalAsaxCompiler.CompileApplicationType for compiling.
2960         
2961         * ObjectTagBuilder.cs: load the Type and check for errors.
2962
2963         * TemplateParser.cs: add assemblies and imports from global.asax.
2964
2965         Now we properly create accessors for session and application objects in
2966         the application itself, pages and controls. First step for fixing
2967         bug #53387.
2968
2969 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2970
2971         * TemplateControl.cs: small speedup for WireUpautomaticEvents. Thanks
2972         to Eric Lindvall for pointing this out.
2973
2974 2004-01-15  Jackson Harper <jackson@ximian.com>
2975
2976         * TemplateParser.cs: Detect if we are parsing a control or page
2977         properly.
2978         * Page.cs: vary by params and vary by headers can be null now.
2979         
2980 2004-01-15  Martin Willemoes Hansen  <mwh@sysrq.dk>
2981
2982         * HtmlTextWriter.cs: Fixed OutputTab routine to generate correct
2983         indention.
2984
2985 2004-01-14  Jackson Harper <jackson@ximian.com>
2986
2987         * Page.cs: If we have a postback that wasn't sent through a
2988         postback script (ie user hit submit on a input type=submit) call
2989         Validate so page validation occurs. This fixes bug #52770.
2990         
2991 2004-01-14  Jackson Harper <jackson@ximian.com>
2992
2993         * Page.cs: Don't tell the response to cache anymore. This is done
2994         when the cacheability is modified by a callback. Set the cache's
2995         duration.
2996         
2997 2004-01-14  Jackson Harper <jackson@ximian.com>
2998
2999         * TemplateParser.cs: If varybyparam is set to "none" make it null
3000         so we dont get a param named null in the outputcache key.
3001         
3002 2004-01-14  Jackson Harper <jackson@ximian.com>
3003
3004         * BasePartialCachingControl.cs: Use varyby attributes in key
3005         generation.
3006         
3007 2004-01-14  Jackson Harper <jackson@ximian.com>
3008
3009         * TemplateParser.cs: Add all the outputcache attribute error
3010         messages.
3011         
3012 2004-01-13  Jackson Harper <jackson@ximian.com>
3013
3014         * TemplateParser.cs: Add VaryByControls and Shared output cache
3015         properties. These are not assigned yet.
3016         * TemplateControlParser.cs: Do not ignore the OutputCache
3017         attribute.
3018         * BasePartialCachingControl.cs: Initial implementation. Keys are
3019         still not created properly.
3020         * StaticPartialCachingControl.cs: Assign properties in base class,
3021         implement CreateControl.
3022         
3023 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3024
3025         * ApplicationFileParser.cs: adde DefaultBaseTypeName property.
3026
3027         * PageParser.cs: support validateRequest.
3028
3029         * TemplateControlParser.cs: get default values from system.web/pages
3030         section.
3031
3032         * TemplateParser.cs: added separate method for changing base type
3033         (Inherits or system.web/pages).
3034         
3035         * UserControlParser.cs: support system.web/pages defined base type.
3036
3037 2004-01-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3038
3039         * UserControl.cs: Added missing attribute, implemented method
3040         * Page.cs: Added missing attribute, implemented method
3041
3042 2004-01-10  Jackson Harper <jackson@ximian.com>
3043
3044         * Page.cs: Handle trace being enabled in the config file.
3045         
3046 2004-01-10  Jackson Harper <jackson@ximian.com>
3047
3048         * Page.cs: Save trace data before rendering it.
3049         * System.Web.dll.sources: Add TraceData.cs
3050         
3051 2004-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3052
3053         * Page.cs: removed a couple of MonoTODO on methods we're not gonna
3054         implement. Applied patch from Jan Jaros (mono-bug@jerryweb.info) to
3055         ensure that Unload event is raised. Fixes bug #52555.
3056
3057 2004-01-02  Zoltan Varga  <vargaz@freemail.hu>
3058
3059         * KeyedList.cs: 'private' is not allowed on explicit interface 
3060         implementations. Fixes 1.2 build.
3061
3062 2003-12-31  Jackson Harper <jackson@ximian.com>
3063
3064         * TemplateControlParser.cs: When registering tag prefixs make sure
3065         the file exists and throw the correct error if it does not.
3066         
3067 2003-12-25  Jackson Harper <jackson@ximian.com>
3068
3069         * Page.cs: Throw error if the session is accessed when sessions
3070         are disabled.
3071         
3072 2003-12-18  Jackson Harper <jackson@ximian.com>
3073
3074         * Page.cs: Write Trace info.
3075         
3076 2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3077
3078         * LosFormatter.cs: new ctor for 1.1. The default ctor is public.
3079         * Page.cs: added ViewStateUserKey and made RegisterclientScriptFile
3080         internal.
3081         * PageParser.cs: the ctor is public.
3082         * PartialCachingAttribute.cs: added new ctor and Shared property.
3083
3084 2003-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3085
3086         * Page.cs: assign the ErrorPage to the context if we get an exception
3087         when processing the page which only calls Unload.
3088
3089         * PageParser.cs: handle ErrorPage.
3090
3091 2003-12-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3092
3093         * ObjectStateFormatter.cs: added formatters for Unit and FontUnit, which
3094         are not [Serializable]. Fixes bug #52244.
3095
3096 2003-12-16  Jackson Harper <jackson@ximian.com>
3097
3098         * Page.cs: Render trace data when tracing is enabled.
3099         
3100 2003-12-15  Jackson Harper <jackson@ximian.com>
3101
3102         * PageParser.cs: Add Trace and Trace mode attributes.
3103         
3104 2003-12-15  Jackson Harper <jackson@ximian.com>
3105
3106         * Page.cs: Use the context trace object.
3107         
3108 2003-12-14  Alon Gazit <along@mainsoft.com>
3109         * AttributeCollection.cs: Changed AttributeCollection.Render().
3110         After the change attributes ,that their value is null, aren't 
3111         rendered.
3112
3113 2003-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3114
3115         * Control.cs: remove a few dangling ^M, don't set values for fields
3116         that has the default value. If Visible is modified and we're tracking
3117         viewstate, save and restore it. Fixes bug #48689.
3118
3119 2003-12-11  Jackson Harper <jackson@ximian.com>
3120
3121         * Control.cs: Give null for the ID if it hasn't been explicitly
3122         set. This fixes bug #51520.
3123         
3124 2003-12-08  Jackson Harper <jackson@ximian.com>
3125
3126         * PageParser.cs: Ignore the SmartNavigation attribute for now.
3127         
3128 2003-12-05  Jackson Harper <jackson@ximian.com>
3129
3130         * DataBinder.cs (GetIndexedPropertyValue): Check if container is
3131         an IList and use a cast instead of reflection to retrieve the item
3132         if it is. Fixes bug #51759.
3133         
3134 2003-12-04  Alon Gazit <along@mainsoft.com>
3135         * Page.cs: Changed Page.ID so it will call Control.ID.
3136         Fixed Bug 51682.          
3137
3138 2003-12-02  Jackson Harper <jackson@ximian.com>
3139
3140         * Page.cs: Implemented registered array declarations. Patch by
3141         Benjamin Jemlich <pcgod@gmx.net>
3142         
3143 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3144
3145         * TemplateParser.cs: basic check for 'classname' attribute and added
3146         patch by pcgod@gmx.net for bug #51568, which fixes automatic class
3147         names for pages starting with a number.
3148
3149 2003-11-30 Ben Maurer  <bmaurer@users.sourceforge.net>
3150
3151         * LosFormatter.cs: Use ObjectStateFormatter. Pretty big size
3152         reduction.
3153
3154         * ObjectStateFormatter.cs: Comment out tracing.
3155
3156 2003-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3157
3158         * Page.cs: fixed UICulture, LCID and Culture. Set the thread
3159         [UI]Culture before processing the request.
3160
3161         * PageParser.cs: read Culture, UICulture and LCID attributes. Added
3162         properties for these. Partially contributed by Mohammad Damt.
3163
3164         Fixes bug #51511.
3165
3166 2003-11-27  Jackson Harper <jackson@ximian.com>
3167
3168         * TemplateParser.cs: Ignore aspCompat attribute. This fixes bug
3169         51434.
3170         
3171 2003-11-22 Ben Maurer  <bmaurer@users.sourceforge.net>
3172
3173         * ObjectStateFormatter.cs: Fix bug when reading small ints.
3174         Add some tracing so we can see what is going on.
3175
3176 2003-11-21  Jackson Harper <jackson@ximian.com>
3177
3178         * Page.cs: Set vary by params when cache location is Server.
3179         
3180 2003-11-21 Ben Maurer  <bmaurer@users.sourceforge.net>
3181
3182         * ObjectStateFormatter.cs: v2 file. In v1.x this will be
3183         internal as LosFormatter will eventually use it to save
3184         the view state.
3185
3186 2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3187
3188         * PersistChildrenAttribute.cs:
3189         * PersistenceModeAttribute.cs: implemented.
3190
3191         * TODO: Removed file.
3192         * OutputCacheLocation.cs:
3193         * TemplateControlParser.cs:
3194         * HtmlInputFile.cs: class status based fixes.
3195
3196 2003-11-19  Jackson Harper <jackson@ximian.com>
3197
3198         * Page.cs: Always set the cache expire time. Tell the response to
3199         cache itself for server side cached pages.
3200         
3201 2003-11-19  Jackson Harper <jackson@ximian.com>
3202
3203         * Control.cs: Remove ResolveBaseUrl. ResolveUrl does the same
3204         thing, some corner cases still need work though. Was this the
3205         shortest lived method in the history of mono?
3206         
3207 2003-11-19  Jackson Harper <jackson@ximian.com>
3208
3209         * Control.cs: New method for resolving urls that use ~/ to denote
3210         the applications base directory.
3211         
3212 2003-11-19  Jackson Harper <jackson@ximian.com>
3213
3214         * TemplateParser.cs: Fix typo in error message.
3215                 
3216 2003-11-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3217
3218         * TemplateControlParser.cs: support @Reference. Fixes bug #49572. Thanks
3219         to Sanjay Gupta.
3220
3221 2003-11-19  Todd Berman  <tberman@gentoo.org>
3222
3223         * KeyedList.cs:
3224         * KeyedListEnumerator.cs: New v2 implementations.
3225
3226 2003-11-17 Ben Maurer  <bmaurer@users.sourceforge.net>
3227
3228         * StateManagedCollection.cs: Implement.
3229
3230 2003-11-13  Jackson Harper  <jackson@ximian.com>
3231
3232         * Page.cs: Initial implementation of InitOutputCache.
3233         * TemplateParser.cs: Page OutputCache options
3234         
3235 2003-11-09 Ben Maurer  <bmaurer@users.sourceforge.net>
3236
3237         * HierarchicalDataSourceControl.cs: Implement.
3238
3239 2003-11-09 Ben Maurer  <bmaurer@users.sourceforge.net>
3240
3241         * XPathBinder.cs: Implemented.
3242
3243 2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
3244
3245         * DataSourceView.cs:
3246         * IDataSource.cs:
3247         * ListSourceHelper.cs:
3248         * DataSourceControl.cs:
3249         * HierarchicalDataSourceView.cs:
3250         * IHierarchicalDataSource.cs: Move v2 stuff.
3251
3252 2003-11-07 Jackson Harper <jackson@ximian.com>
3253
3254         * Control.cs (ResolveUrl): Special case for urls that consist of
3255         only a page anchor. ie <a href="#top">. This fixes bug #50165.
3256         
3257 2003-11-07 Ben Maurer  <bmaurer@users.sourceforge.net>
3258
3259         * IHierarchicalEnumerable.cs:
3260         * IHierarchyData.cs:
3261         * INavigateUIData.cs: New v2 interfaces.
3262         
3263 2003-11-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3264
3265         * Page.cs: patch by Alon Gazit <along@mainsoft.com> to remove extra
3266         space in generated javascript.
3267
3268 2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3269
3270         * LosFormatter.cs: encoding updates. 
3271         * Page.cs: implemented CodePage and ContentType.
3272         * PageParser.cs: handle CodePage, ContentEncoding and ResponseEncoding
3273         attributes.
3274
3275 2003-11-04 Ben Maurer  <bmaurer@users.sourceforge.net>
3276
3277         * Control.cs (GetWebResourceUrl): new v2 function
3278         * Page.cs (GetWebResourceUrl): ditto.
3279         make the JS we generate work with moz if the form is not a child
3280         of document.
3281         * WebResourceAttribute.cs: Added, new v2 attribute.
3282
3283 2003-10-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3284
3285         * DesignTimeTemplateParser.cs: added FIXME related to PageParser.
3286
3287         * PageParser.cs: initialize the parser in the constructor, not just
3288         before compiling and reference the application assembly.
3289
3290         * SimpleWebHandlerParser.cs: reference the assembly that contains the
3291         application Type.
3292
3293         * TemplateControl.cs:
3294         * TemplateControlParser.cs: fix BenM #1 bug. Now we pass correct virtual
3295         path and physical path when compiling a user control.
3296         
3297         * TemplateParser.cs: new AddApplicationAssembly ().
3298         * UserControlParser.cs: now we get valid values in the ctor.
3299
3300         Referencing the application assembly fixes bug #49652.
3301         
3302
3303 2003-10-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3304
3305         * TemplateControl.cs: moved NoParamsInvoker class to its own file.
3306
3307 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3308
3309         * BaseParser.cs: added CompilationConfig property.
3310
3311         * TemplateParser.cs:
3312         * SimpleWebHandlerParser.cs: added CompilationConfig property.
3313         Don't hardcode assembly names any more, assemblies in bin are added
3314         depending on the configuration. The default language is also taken
3315         from the configuration.
3316
3317 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3318
3319         * LosFormatter.cs: fixed bug #49604. Patch by yaronsh@mainsoft.com.
3320
3321 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3322
3323         * Control.cs: removed some debug lines.
3324         * Page.cs: implemented RegisterOnSubmitStatement
3325         * TemplateControl.cs: fixed wire up for methods with no parameters.
3326
3327 2003-10-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3328
3329         * PageParser.cs: ignore ValidateRequest by now.
3330
3331 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3332
3333         * System.Web.UI/TemplateControl.cs: support for wiring up events without
3334         parameters.
3335
3336 2003-10-08  Pedro Martnez Juli  <yoros@wanadoo.es>
3337
3338         * PageParser.cs: drop some useless code.
3339
3340 2002-10-29  Gaurav Vaish <gvaish_mono AT lycos.com>
3341
3342         * Utils.cs   : GetScriptLocation(HttpContext) - Partial Implementation.
3343
3344 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3345
3346         * System.Web.UI/PageParser.cs:
3347         * System.Web.UI/TemplateControlParser.cs: honour the input file given
3348         as argument.
3349
3350 2003-09-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3351
3352         * Control.cs:
3353         (ClearChildViewState): doh! Don't clear control viewstate but the
3354         viewstate of possible children.
3355         (LoadViewStateRecursive): load viewstate even when control is not
3356         visible.
3357         Fixes bug #49024.
3358         The rest are just dangling ^M removed.
3359
3360         * DataBoundLiteralControl.cs:
3361         (LoadViewState): we get an object [], not a string [].
3362
3363 2003-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3364
3365         * Control.cs: implemented ClearChildViewState ().
3366
3367 2003-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3368
3369         * Page.cs: store unique IDs for controls requiring postback. Fixes bug
3370         #47985.
3371
3372 2003-09-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3373
3374         * SimpleWebHandlerParser.cs: add the ashx/asmx file itself to the
3375         dependencies so that it's recompiled when changed.
3376
3377 2003-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3378
3379         * LosFormatter.cs: fixed Deserialize for empty viewstate.
3380
3381 2003-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3382
3383         * Page.cs: check if controls that require postback have
3384         been changed by an event and register them to be notified of data
3385         changed event.
3386
3387 2003-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3388
3389         * Control.cs: patch by yaronshkop@hotmail.com (Yaron Shkop) that fixes
3390         bug #47866.
3391
3392 2003-08-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3393
3394         * LosFormatter.cs: handle Unit and FonrUnit as special cases as they
3395         are not serializable. Fixes bug #47784.
3396
3397 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3398
3399         * Control.cs: index the viewstates saved by the control position, not
3400         the control name. Fixes bug #47697.
3401
3402 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3403
3404         * ControlCollection.cs:
3405         * EmptyControlCollection.cs: create a minimum ArrayList for this.
3406
3407         * BaseParser.cs: added setter for BaseVirtualDir.
3408
3409         * Page.cs: fixed message when restoring view state fails.
3410         * UserControlParser.cs: set the BaseVirtualDirectory to handle the case
3411         when a relative path to the control is given. Fixes bug #47685.
3412
3413 2003-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3414
3415         * Control.cs: when we load the viewstate for a control that has children
3416         viewstates and the child is not found, keep its viewstate around and
3417         wait until the child is added to load the viewstate. Fixes bug #47697.
3418
3419 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3420
3421         * TemplateControl.cs: more Delegate.CreateDelegate fixes.
3422
3423 2003-08-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3424
3425         * PartialCachingControl.cs: is not abstract
3426
3427 2003-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3428
3429         * SimpleHandlerFactory.cs: implemented GetHandler.
3430         * WebHandlerParser.cs: new file that parses .ashx files.
3431
3432 2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3433
3434         * PersistenceModeAttribute.cs: Fixed wrong AttributeUsage
3435
3436 2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3437
3438         * UserControl.cs: Added attribute
3439         * BasePartialCachingControl.cs: New class and paritally implemented
3440         * DesignerDataBoundLiteralControl.cs: New class and implemented
3441         * DesignTimeTemplateParser.cs:
3442         * PartialCachingControl.cs:
3443         * StaticPartialCachingControl.cs: New class and paritally implemented
3444
3445 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3446
3447         * ApplicationFileParser.cs: Fixed signature
3448         * DesignTimeParseData.cs: Added missing properties, implemented
3449         * Page.cs: Added attributes
3450         * PageParser.cs:
3451         * TemplateControlParser.cs:
3452         * TemplateParser.cs:
3453         * UserControlParser.cs: Fixed signature
3454
3455 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3456
3457         * HtmlControlPersistableAttribute.cs: Added
3458         * IgnoreUnknownContentAttribute.cs: Added
3459
3460 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3461
3462         * IUserControlDesignerAccessor.cs: Added and implemented
3463         * Control.cs: Missing member added, added all attributes
3464         * Page.cs: Added attributes, fixed signature
3465         * TemplateControl.cs: Fixed signature, added all attributes
3466         * UserControl.cs: Added all attributes, added and implemented missing interface
3467         
3468 2003-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3469
3470         * ControlCollection.cs: fixed bug #46472.
3471
3472 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3473
3474         * SimpleWebHandlerParser.cs: implemented GetTypeFromBin.
3475
3476 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3477
3478         * SimpleWebHandlerParser.cs: updated to new compilation interface.
3479
3480         * TemplateParser.cs: use the new parameter when compiling.  
3481
3482 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3483
3484         * Page.cs: also keep the value for the second try on handling postback
3485         events.
3486
3487 2003-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3488
3489         * BaseParser.cs: fixed MapPath for non-rooted files.
3490         * PageParser.cs: don't pass a non-virtual file around.
3491         * TemplateControlParser.cs: InputFile uses MapPath now.  Take care of
3492         the exception teh may be throw by MapPath on an invalid path.
3493
3494         * TemplateParser.cs: removed unused method.
3495         * UserControlParser.cs: modified inputfile. The result is the same, but 
3496         this one is better.
3497
3498 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3499
3500         * RootBuilder.cs: throw exception when the tagprefix is not valid or
3501         not found.
3502
3503 2003-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3504
3505         * TemplateControlParser.cs: return after processing @Register.
3506
3507 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3508
3509         * TemplateParser.cs: Added support for server side includes.
3510
3511 2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3512
3513         * TemplateControl.cs: fixed the flags used to find the methods that
3514         are automatically hooked up on events.
3515
3516         * TemplateParser.cs: don't compile a source file directly.  Use the
3517         cache instead.
3518
3519 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3520
3521         * BaseParser.cs: Location property is now here. Added a couple of
3522         convenience methods to throw a ParseException.
3523
3524         * TemplateParser.cs:
3525         * TemplateControlParser.cs:
3526         * PageParser.cs: throw ParseException where appropiate.
3527
3528 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3529
3530         * ApplicationFileParser.cs: use the generator to actually parse the
3531         file.
3532
3533         * ControlBuilder.cs: small fix in NamingContainerType because
3534         TemplateBuilders have a null ControlType. When a control is appended
3535         to a parent, assign the child's parent.
3536
3537         * UserControlParser.cs: fixed the value of InputFile.
3538
3539 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3540
3541         * ApplicationFileParser.cs: store the Context and override
3542         BaseVirtualDir so that it's the application path.
3543
3544         * BaseParser.cs: removed CurrentVirtualPath property.
3545
3546         * TemplateControlParser.cs: use BaseVirtualDir.
3547
3548         * UserControlParser.cs: removed CurrentVirtualPath.
3549
3550 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3551
3552         * TemplateParser.cs: always reference all the assemblies in bin
3553         directory.
3554
3555 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3556
3557         * ApplicationFileParser.cs: it works now. Prior to these changes, we
3558         were using the compiler directly.
3559
3560         * BaseParser.cs: added some useful properties and methods.
3561
3562         * CodeBuilder.cs: use ILocation.
3563         * CodeRenderBuilder.cs: use ILocation.
3564         * CollectionBuilder.cs: use the RootBuilder to map tag names into Types.
3565
3566         * ControlBuilder.cs: made it useful.
3567
3568         * DataBindingBuilder.cs: the control type for data bound text is
3569         DataBoundLiteralControl now.
3570
3571         * ObjectTagBuilder.cs: store some object tag attributes.
3572
3573         * PageParser.cs: handle page-only directives.
3574
3575         * RootBuilder.cs: bah.
3576         * SimpleWebHandlerParser.cs: made it dummy.
3577         * TemplateControl.cs: Modified file.
3578
3579         * TemplateControlParser.cs: handle directives that are common to pages
3580         and user controls.
3581
3582         * TemplateParser.cs: utility methods and handling of directives that
3583         are common to app, page and user controls.
3584
3585         * UserControl.cs: added ControlBuilderAttribute.
3586
3587         * UserControlControlBuilder.cs: builder for user controls.
3588         * UserControlParser.cs: use the new interfaces.
3589
3590 2003-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3591
3592         * ControlBuilder.cs: line and fileName are protected now.
3593
3594         * CodeBuilder.cs: base class for the next 2 files.
3595         * CodeRenderBuilder.cs: builder for code render.
3596         * DataBindingBuilder.cs: builder for data binding.
3597
3598 2003-04-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3599
3600         * ITagNameToTypeMapper.cs: made it internal.
3601
3602         * ObjectTagBuilder.cs: builder for <object runat="server"> tag.
3603         * ObjectTag.cs:
3604         * RootBuilder.cs: initial builder.
3605
3606 2003-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3607
3608         * CollectionBuilder.cs:
3609         * TemplateBuilder.cs: new classes derived from ControlBuilder that
3610         represent a property or a ITemplate.
3611         
3612         * ControlBuilder.cs: implemented all the missing bits.
3613         * TemplateParser.cs: added mapping from tag name to Type feature.
3614
3615 2003-02-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3616
3617         * Control.cs: have i definitely fixed naming container stuff this time?
3618
3619         * LosFormatter.cs: activated binary serialization code.
3620
3621 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3622
3623         * Control.cs:
3624         (AddedControl): fixed default id assignation when the sequence of
3625         AddedControl until it's included in the page or one of its controls
3626         does not pass through a naming container.
3627
3628 2003-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3629
3630         * Control.cs: give different default names depending on the place where
3631         it is assigned. Implemented ResolveURl (no more ~ rendered in
3632         attributes!).
3633
3634 2003-02-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3635
3636         * Control.cs: when adding a control, assign default names to th
3637         children that don't have one.
3638
3639 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3640
3641         * SimpleWebHandlerParser.cs: modified to use the new parser interface.
3642
3643 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3644
3645         * Control.cs: some more tweaks to naming containers stuff.
3646         * DataBinder.cs: don't throw exception if the container is null.
3647
3648         * Page.cs: now we can render client scripts, startup scripts and hidden
3649         fields. Only render __VIEWSTATE if there is someone that will take care
3650         of it.
3651         (RaisePostBackEvents): first try the last one that required raise event,
3652         then try __EVENTTARGET.
3653
3654 2003-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3655
3656         * Control.cs: fixes in UniqueID, FindControl, AddedControl,
3657         UnloadRecursive, InitRecursive. Reduced the size of __VIEWSTATE. Made
3658         FindControl work with NamingContainers.
3659         
3660         * ControlCollection.cs: notify the parent when clearing the collection.
3661
3662         * LosFormatter.cs: Added debugging output and generate a valid
3663         viewstate even for unknown types.
3664
3665         * Page.cs: GetPostBackEventReference now uses UniqueID. Reduced
3666         viewstate.
3667
3668 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3669
3670         * Page.cs: make it fire the LoadData related events also for controls
3671         such as ImageButton, whose variable(s) in the query string are of the
3672         form ctrl_name.x and only fire them once per control.
3673
3674 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3675
3676         * DataBinder.cs:
3677         (GetPropertyValue): don't try to get the property as indexed
3678
3679 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3680
3681         * DataBinder.cs: use TypeDescriptor to get the properties and their
3682         values.
3683
3684 2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3685
3686         * Control.cs:
3687         (AddedControl): take the children to the same state of the parent.
3688         (InitRecursive): set the page of the children.
3689
3690         * Page.cs: removed one line (it's done a few lines above).
3691
3692         * UserControl.cs:
3693         (OnInit): always call InitializeAsUserControl
3694         (InitializeAsUserControl): sets the page for the control.
3695
3696 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3697
3698         * Control.cs: fixed bug #36037.
3699
3700 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3701
3702         * BaseParser.cs: a couple of path fixes to make it work
3703         when the page is not in the root directory.
3704
3705 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3706
3707         * Control.cs: fixed PreRenderRecursiveInternal. Thanks to kojoadams for
3708         reporting the bug.
3709
3710 2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3711
3712         * BaseParser.cs: use MapPath and context to locate files.
3713         * Control.cs: implemented MapPathSecure.
3714         * TemplateControl.cs: use UrlUtils to generate the path.
3715         * TemplateControlParser.cs: use the context and MapPath.
3716         * UserControl.cs: implemented MapPath.
3717         * UserControlParser.cs: added context parameter to constructor.
3718
3719 2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3720
3721         * Control.cs: implemented MapPathSecure.
3722         * Page.cs: fixed Server property.
3723
3724 2002-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3725
3726         * DataBinder.cs: try the indexer if the property is not found in
3727         GetPropertyValue ().
3728
3729 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3730
3731         * Control.cs: added AutoEventWireup internal property.
3732
3733         * Page.cs: removed page events wire up from here.
3734
3735         * TemplateControl.cs: new method WireupAutomaticEvents to hook up page
3736         and user controls events.
3737
3738         * TemplateControlParser.cs: process the options that are applicable
3739         once we have the instance of the control.
3740
3741         * TemplateParser.cs: also stores the options.
3742
3743         * UserControl.cs: hook up events before initializing the control.
3744
3745
3746 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3747
3748         * Control.cs: new method to set bindingContainer value.
3749         * TemplateControl.cs: added controls are not binding containers.
3750
3751 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3752
3753         * Control.cs: implemented TemplateSourceDirectory.
3754         * TemplateControl.cs: implemented LoadControl and LoadTemplate.
3755
3756 2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3757
3758         * UserControl.cs: fixed SetAttribute.
3759         * UserControlParser.cs: set the correct base type.
3760
3761 2002-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3762
3763         * TemplateParser.cs: fixed BaseType.
3764         * UserControlParser.cs: helper class to compile user controls.
3765
3766 2002-11-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3767
3768         * LosFormatter.cs: added DateTime to special types.
3769
3770 2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3771
3772         * LosFormatter.cs: added array serialization support. Disabled binary
3773         serialization and add some debugging code.
3774
3775         * StateBag.cs: the length of the list of value can be less than the
3776         length if the list of keys when remaining values are null.
3777
3778 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3779
3780         * Page.cs: return something useful in GetPostBackClientEvent.
3781
3782 2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3783
3784         * Page.cs: implemented FileDependecies and made it protected.
3785
3786 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3787
3788         * Control.cs: save control names instead of the controls
3789         themselves to the ViewState.
3790
3791         * LosFormatter.cs: added support for serializing unknown
3792         types. BinaryFormatter does not work so you better don't store anything
3793         of unknown Type in ViewState.
3794
3795         * Page.cs: GetViewStateString works now using LosFormatter.
3796         Complete "Control execution lifecycle" by unloading all the child
3797         controls. Check for null in RaisePostBackEvents.
3798         LoadPageViewStateFromPersistenceMedium uses LosFormatter too.
3799
3800 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3801
3802         * DataBinder.cs: implemented Eval and GetIndexedPropertyValue methods.
3803
3804 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3805
3806         * LosFormatter.cs: Use WebEncoding.Encoding.
3807
3808         * Control.cs:
3809         * Page.cs: fixed namespace.
3810
3811 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3812
3813         * Page.cs: set the context in ProcessRequest. Added a few trace calls.
3814         * Control.cs: added some trace information.
3815
3816 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3817
3818         * SimpleHandlerFactory.cs: new handler for .ashx files.
3819
3820 2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3821
3822         * System.Web.UI/PageHandlerFactory.cs: new file.
3823         * System.Web.UI/PageParser.cs:
3824         * System.Web.UI/TemplateControlParser.cs: we are now able to compile
3825         pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest.
3826
3827 2002-09-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3828
3829         * Control.cs: implemented ObBubbleEvent.
3830         * Page.cs: temporary workaround to make POST work with xsp server.
3831
3832 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3833
3834         * Page.cs: fixed InvokeEventMethod now that Type.GetMethod does not
3835         return pvt methods.
3836
3837 2002-09-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3838
3839         * SimpleWebHandlerParser.cs: New file.
3840         * WebServiceParser.cs: New file.
3841
3842 2002-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3843
3844         * LosFormatter.cs: almost fully implemented.
3845
3846 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3847
3848         * CompiledTemplateBuilder.cs: InstantiateIn is virtual.
3849         * EmptyControlCollection.cs: throw correct exception.
3850         * LosFormatter.cs: stubbed out.
3851         * OutputCacheLocation.cs: little fix.
3852
3853 2002-08-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3854
3855         * System.Web.UI/ApplicationFileParser.cs:
3856         * System.Web.UI/BaseParser.cs:
3857         * System.Web.UI/PageParser.cs:
3858         * System.Web.UI/TemplateControl.cs:
3859         * System.Web.UI/TemplateControlParser.cs:
3860         * System.Web.UI/TemplateParser.cs: first steps to move xsp into
3861         System.Web.
3862
3863 2002-07-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3864
3865         * Page.cs: request to render postback script can be after form started
3866         rendering.
3867
3868 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3869
3870         * Page.cs: added more page events to invoke automagically if some
3871         methods are defined.
3872
3873 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3874
3875         * Control.cs:
3876         (SaveViewState): save state even when control is not visible.
3877         (SaveViewStateRecursive):
3878         (LoadViewStateRecursive): made internal.
3879
3880 2002-07-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3881
3882         * Page.cs: improved event raising to allow client postback for a wider
3883         variety of actions (clicking an hyperlink, ...).
3884
3885 2002-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3886
3887         * UserControl.cs: implemented Load/SaveViewState.
3888
3889 2002-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3890
3891         * AttributeCollection.cs:
3892         (Add): handle 'style' through styleCollection.
3893
3894         * CssStyleCollection.cs:
3895         (fillStyle): renamed to FillStyle and made it internal.
3896
3897         * Page.cs:
3898         (GetViewStateString): fixed, broken after other recent changes.
3899         (ProcessPostData): allow a second try for postback data after OnLoad.
3900         (ProcessRequest): clear controls collection, removed call to 
3901         UnloadRecursive.
3902
3903 2002-07-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3904
3905         * Control.cs: uncommented Dispose.
3906
3907         * Page.cs:
3908         (DeterminePostBackMode): more checkings.
3909         (GetPostBackClientHyperLink): implemented.
3910         (GetPostBackEventReference): added some comments with the HTML that MS
3911         generates for that.
3912         (ProcessRequest): fixed processing order. The page is unloaded after
3913         a request and regenerated from view state on subsequents posts.
3914
3915 2002-07-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3916
3917         * Control.cs: fixed related to ViewState. Added RemovedControl.
3918
3919         * ControlCollection.cs: notify owner of control removal.
3920         
3921         * CssStyleCollection.cs: almost rewritten to make it render the style
3922         attribute after changes to it.
3923
3924         * Page.cs: follow the guidelines in 'Control execution lifecycle'.
3925         Removed Xml code.
3926
3927         * StateBag.cs: don't use IDictionary.GetEnumerator on the
3928         HybridDictionary: it makes the program give an InvalidCastException at
3929         runtime. Why?
3930
3931 2002-07-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3932
3933         * Page.cs: fire Init and Load events for all children.
3934
3935 2002-07-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3936
3937         * UserControl.cs: New file.
3938
3939 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3940
3941         * ControlBuilderAttribute.cs: finished implementation.
3942
3943 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3944
3945         * ConstructorNeedsTagAttribute.cs: the default constructor sets the
3946         property to false.
3947
3948 2002-07-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3949
3950         * System.Web.UI/AttributeCollection.cs: added CssStyleCollection.
3951
3952         * System.Web.UI/CssStyleCollection.cs: use a StateBag instead of a
3953         Hashtable. Added internal .ctor.
3954
3955         * System.Web.UI/DataBinding.cs: propertyType is a Type. Implemented
3956         Equals and GetHashCode.
3957
3958         * System.Web.UI/DataBoundLiteralControl.cs:
3959         (LoadViewState):
3960         (SaveViewState): implemented.
3961
3962         * System.Web.UI/Page.cs: FileDependencies is not public.
3963
3964         * System.Web.UI/ParseChildrenAttribute.cs: give a value to Default.
3965         (GetHashCode):
3966         (Equals):
3967         (IsDefaultAttribute): implemented.
3968
3969 2002-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3970
3971         * Control.cs: fixed Visible property.
3972         * Page.cs: fixed GetViewStateString.
3973
3974 2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3975
3976         * System.Web.UI/Page.cs:
3977         (GetViewStateString): new function to give the server access to the
3978         generated view state string.
3979         (Validate): d'oh!
3980
3981 2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3982
3983         * Control.cs:
3984         (SaveViewstateRecursive): implemented.
3985         (SaveViewState): fixed.
3986         (IParserAccessor.AddParsedSubObject): don't use 'this'.
3987
3988         * Page.cs: added code to save view state to an xml file.  It's not
3989         being used right now.
3990
3991 2002-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3992
3993         * System.Web.UI/LiteralControl.cs: 
3994         Fixes based on class status page:
3995         
3996                 - Add attributes (DefaultEvent, ParseChildren).
3997                 - Fix declarations.
3998                 - Explicitly implement some interfaces (IPostBackDataHandler
3999                 and IPostBackEventHandler).
4000                 - Implemented some missing methods.
4001
4002 2002-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4003
4004         * Control.cs: reimplemented FindControls.
4005
4006         * Page.cs:
4007         (.ctor): set the page for this control.
4008         (IsPostBack): return valid value.
4009         (DeterminePostBackMode): finished.
4010         (OnFormRender): render __VIEWSTATE (uses GetTypeHashCode()).
4011         (ProcessPostData): implemented. Raises change and postback events.
4012         (ProcessRequest): changed to support reuse of the instance.
4013         (RegisterRequiresPostBack): implemented.
4014
4015         * ValidatorCollection.cs: implemented all methods.
4016
4017 2002-06-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4018
4019         * Control.cs:
4020         * Page.cs: first attemp to save view state.
4021
4022         * HtmlForm.cs: don't render Action.
4023
4024 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4025
4026         * Page.cs: implemented more properties using information we already
4027         have in Context.
4028         (OnFormRender):
4029         (OnFormPostRender):
4030         (VerifyRenderingInServerForm): implemented.
4031
4032 2002-06-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4033
4034         * Page.cs: changed InvokeEventMethod to use a GetMethod that works with
4035         out runtime. Renamed Page_Init and Page_Load.
4036
4037         After this, we can load a dll and render HTML in linux.
4038
4039 2002-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4040
4041         * Control.cs:
4042         (AddedControl): new function that is called whenever a control is
4043         added to a collection of controls in a container. It sets the defaults
4044         except for Page.
4045         
4046         * ControlCollection.cs: call AddedControl in Add/AddAt.
4047
4048         * DataBoundLiteralControl.cs: implemented constructor, Text, Render,
4049         SetStaticString and SetDataBoundString.
4050
4051         * Page.cs: removed SetDefaults.
4052
4053 2002-06-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4054
4055         * CompiledTemplateBuilder.cs: new file. Used in the code generated
4056         by xsp.
4057
4058         * Control.cs:
4059         (BindingContainer): implemented.
4060         (EnsureChildControls): avoid stack overflow.
4061
4062         * DataBinder.cs: implemented Eval and PropertyValue.
4063
4064 2002-06-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4065
4066         * HtmlTextWriter.cs: fixed style attributes rendering (almost the same
4067         bug as in regular attributes).
4068
4069 2002-06-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4070
4071         * Control.cs: implemented PreventAutoID.
4072
4073         * Page.cs:
4074         (SetDefaults): don't set ID automatically if Control.PreventAutoID has
4075         been called.
4076
4077 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4078
4079         * Page.cs:
4080         (Validators): if the collection is null, create one.
4081         (GetPostBackEventReference 2): don't throw exception.
4082         (GetPostBackClientEvent): return a string with containing the method
4083         name, the control name and the argument.
4084
4085 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4086
4087         * Page.cs: SetPage is now called SetDefaults and also sets a default 
4088         ID for controls that don't have one yet.
4089
4090 2002-06-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4091
4092         * Page.cs:
4093         (GetPostBackClient):
4094         (RegisterRequiresPostBack): don't throw NotImplementedException to
4095         keep going.
4096         (ProcessRequest): set the current page as the Page property for *all*
4097         the controls, not just the direct children of the page.
4098
4099 2002-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4100
4101         * Control.cs:
4102         (MapPathSecure): until security is implemented, return the same path
4103         received as argument.
4104         (RenderControl): call OnPreRender before rendering the control. So
4105         AdRotator can read its configuration file.Is there any other place
4106         where this should be done?
4107
4108         * HtmlTextWriter.cs:
4109         (AddAttribute): fixed. Now it really stores attributes.
4110         (RenderBeginTag): fixed a couple of bugs (little ones but hard to find).
4111
4112 2002-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4113
4114         * ControlCollection.cs:
4115         (AddAt): if index is -1 behave as a plain Add.
4116
4117 2002-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4118
4119         * Page.cs: for each child control to render, assign Control.Page.
4120         Probably also needed in HtmlContainerControl derived classes.
4121         
4122 2002-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4123
4124         * AttributeCollection.cs: don't need a Hastable. StateBag now works 
4125         fine and takes care of the details.
4126
4127         * Control.cs: added HasChildren property.
4128
4129         * StateBag.cs: fixed a couple of nasty bugs.
4130
4131 2002-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4132
4133         * Page.cs: run OnInit, OnLoad y PreRender before rendering the page.
4134         Invoke Page_Init and/or Page_Load if the user supplied them (though 
4135         this should depend on AutoEventWireUp attribute of Page directive).
4136
4137 2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4138
4139         * Control.cs: don't throw exception in ControlID. By now, it returns ID.
4140
4141         * Page.cs: 
4142         (ProcessRequest): implemented.
4143
4144 2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4145
4146         * System.Web.UI/Page.cs: finished stubbing out. Implemented some
4147         methods.
4148
4149 2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4150
4151         * Page.cs:
4152         (FileDependencies): now is public public.
4153         (EnableViewStateMAC): uncommented and made protected. 
4154         (GetTypeHashCode): added method.
4155         
4156 2002-05-24  Duncan Mak  <duncan@ximian.com>
4157
4158         * TemplateControl.cs (SetStringResourcePointer): Fixed typo.
4159
4160         * StateBag.cs (Item): Changed the visibility level of the this
4161         [object] indexer.
4162
4163         Misc. formatting edits, fixing some bugs introduced by the indentation.
4164
4165         * DataBinder.cs (Eval)
4166         (GetIndexedPropertyValue)
4167         (GetPropertyValue): Fixed return types.
4168
4169 2002-05-21  Miguel de Icaza  <miguel@ximian.com>
4170
4171         * HtmlTextWriter.cs: Use this to change the member instances.
4172
4173 2002-05-17  Duncan Mak  <duncan@ximian.com>
4174
4175         * AttributeCollection.cs: 
4176         * ControlCollection.cs: 
4177         * CssStyleCollection.cs: 
4178         * DataBindingCollection.cs: 
4179         * EmptyControlCollection.cs: Added missing Collection classes.
4180
4181 2002-05-17  Duncan Mak  <duncan@ximian.com>
4182
4183         * BaseParser.cs:
4184         * TemplateParser.cs:  Implemented. BaseParser is weird because
4185         there is no documentation on what it does.
4186
4187         * ControlBuilder.cs:
4188         
4189         * DataBinder.cs: 
4190         * DataBinding.cs: Added. 
4191
4192         * DataBoundLiteralControl.cs: 
4193         * Triplet.cs: Added.
4194
4195         * RenderMethod.cs: Added this delegate for Control.cs
4196
4197 2002-05-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4198
4199         * ValidationPropertyAttribute.cs: a couple of fixes to make it compile.
4200
4201 2002-05-14  Duncan Mak  <duncan@ximian.com>
4202
4203         * ValidationPropertyAttribute.cs: Added to CVS.
4204
4205 2002-05-10  Duncan Mak  <duncan@ximian.com>
4206
4207         * ConstructorNeedsTagAttribute.cs: 
4208         * ControlBuilderAttribute.cs: 
4209         * ImageClickEventArgs.cs: 
4210         * ParseChildrenAttribute.cs: 
4211         * PartialCachingAttribute.cs: 
4212         * PersistChildrenAttribute.cs: 
4213         * PersistenceModeAttribute.cs: 
4214         * TemplateContainerAttribute.cs: Added to CVS.
4215
4216         * PersistanceMode.cs: Removed, fixed typo.
4217         * PersistenceMode.cs: Replacing above.
4218
4219         * StateBag.cs (this): Fixed indexer, it takes a string as the
4220         index, not an object.
4221
4222         * ValidatorCollection.cs: Fixed typo, ValidatedCollection to ValidatorCollection. 
4223
4224         * Page.cs (Validators): return type should be ValidatorCollection,
4225         not ValidatedCollection.
4226
4227         * TagPrefixAttribute.cs: Added to CVS.
4228
4229 2002-05-07  Duncan Mak  <duncan@ximian.com>
4230
4231         * Utils.cs (GetClientValidatedEvent): Uncommented the 'Page' argument.
4232
4233 2002-03-26   Gaurav Vaish <gvaish@iitk.ac.in>
4234
4235         * DataBindingHandlerAttribute.cs
4236                                    - Completed
4237         * ToolboxDataAttribute.cs  - Completed
4238
4239 2002-01-03  Nick Drochak  <ndrochak@gol.com>
4240
4241         * DesignTimeParseData.cs: initialze static member to avoid compile
4242         error
4243         * PropertyConverter.cs: remove uneeded exception variables from
4244         catch blocks.
4245
4246 2002-01-02  Nick Drochak  <ndrochak@gol.com>
4247
4248         * DesignTimeParseData.cs: fix header to show correct class name
4249
4250 2001-12-21   Gaurav Vaish <gvaish@iitk.ac.in>
4251
4252         * StateBag.cs             - Completed
4253
4254 2001-12-19   Gaurav Vaish <gvaish@iitk.ac.in>
4255
4256         * Pair.cs                 - Small undocumented class. Completed.
4257
4258 2001-12-18   Gaurav Vaish <gvaish@iitk.ac.in>
4259
4260         * DesignTimeParseData.cs  - Initial implementation
4261         * StateBag.cs             - Initial implementation
4262
4263 2001-12-17   Gaurav Vaish <gvaish@iitk.ac.in>
4264
4265         * PropertyConverter.cs    - Undocumented class. Completed.
4266         * Utils.cs                - Undocumented, private class.
4267                                     Initial implementation
4268
4269 2001-08-28  Bob Smith  <bob@thestuff.net>
4270         * Control.cs: Figured out some undocumented API.
4271         * Added TODO.
4272         * BuildMethod.cs: Initial implementation.
4273         * BuildTemplateMethod.cs: Initial implementation.
4274         * HtmlTextWriterAttribute.cs: Initial implementation.
4275         * HtmlTextWriterStyle.cs: Initial implementation.
4276         * HtmlTextWriterTag.cs: Initial implementation.
4277         * IAttributeAccessor.cs: Initial implementation.
4278         * IDataBindingsAccessor.cs: Initial implementation.
4279         * ImageClickEventHandler.cs: Initial implementation.
4280         * INamingContainer.cs: Initial implementation.
4281         * IParserAccessor.cs: Initial implementation.
4282         * IPostBackDataHandler.cs: Initial implementation.
4283         * IPostBackEventHandler.cs: Initial implementation.
4284         * IStateManager.cs: Initial implementation.
4285         * ITagNameToTypeMapper.cs: Initial implementation.
4286         * ITemplate.cs: Initial implementation.
4287         * IValidator.cs: Initial implementation.
4288         * OutputCacheLocation.cs: Initial implementation.
4289         * PersistanceMode.cs: Initial implementation.
4290         * StateItem.cs: Initial implementation.
4291
4292 2001-08-27  Bob Smith  <bob@thestuff.net>
4293
4294         * Control.cs: Bug fixes and implementations.
4295
4296 2001-08-24  Bob Smith  <bob@thestuff.net>
4297
4298         * Control.cs: Bug fixes.
4299
4300 2001-08-23  Bob Smith  <bob@thestuff.net>
4301
4302         * Control.cs: More implementation. Events reworked for performance.
4303
4304 2001-08-22  Bob Smith  <bob@thestuff.net>
4305
4306         * LiteralControl.cs: Implemented.
4307         * Control.cs: Even more implementation (Events). What a beast.
4308
4309 2001-08-20  Bob Smith  <bob@thestuff.net>
4310
4311         * Control.cs: More implementation. Not done yet. Shutter.
4312
4313 2001-08-17  Bob Smith  <bob@thestuff.net>
4314
4315         * Control.cs: Partial implementation.