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