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