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