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