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