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