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