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