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