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