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