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