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