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