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