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