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