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