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