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