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