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