[System] UriKind.RelativeOrAbsolute workaround.
[mono.git] / mcs / class / System.Web.Abstractions / System.Web / HttpBrowserCapabilitiesWrapper.cs
1 //
2 // HttpBrowserCapabilitiesWrapper.cs
3 //
4 // Author:
5 //      Atsushi Enomoto <atsushi@ximian.com>
6 //
7 // Copyright (C) 2008 Novell Inc. http://novell.com
8 //
9
10 //
11 // Permission is hereby granted, free of charge, to any person obtaining
12 // a copy of this software and associated documentation files (the
13 // "Software"), to deal in the Software without restriction, including
14 // without limitation the rights to use, copy, modify, merge, publish,
15 // distribute, sublicense, and/or sell copies of the Software, and to
16 // permit persons to whom the Software is furnished to do so, subject to
17 // the following conditions:
18 // 
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
21 // 
22 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
26 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
27 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 //
30 using System;
31 using System.Collections;
32 using System.Collections.Generic;
33 using System.Globalization;
34 using System.IO;
35 using System.Runtime.CompilerServices;
36 using System.Security.Permissions;
37 using System.Security.Principal;
38 using System.Web.Caching;
39 using System.Web.UI;
40
41 namespace System.Web
42 {
43         [TypeForwardedFrom ("System.Web.Abstractions, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
44         [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
45         [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
46         public class HttpBrowserCapabilitiesWrapper : HttpBrowserCapabilitiesBase
47         {
48                 HttpBrowserCapabilities w;
49
50                 public HttpBrowserCapabilitiesWrapper (HttpBrowserCapabilities httpBrowserCapabilities)
51                 {
52                         if (httpBrowserCapabilities == null)
53                                 throw new ArgumentNullException ("httpBrowserCapabilities");
54                         w = httpBrowserCapabilities;
55                 }
56
57
58                 public override bool ActiveXControls {
59                         get { return w.ActiveXControls; }
60                 }
61
62                 public override IDictionary Adapters {
63                         get { return w.Adapters; }
64                 }
65
66                 public override bool AOL {
67                         get { return w.AOL; }
68                 }
69
70                 public override bool BackgroundSounds {
71                         get { return w.BackgroundSounds; }
72                 }
73
74                 public override bool Beta {
75                         get { return w.Beta; }
76                 }
77
78                 public override string Browser {
79                         get { return w.Browser; }
80                 }
81
82                 public override ArrayList Browsers {
83                         get { return w.Browsers; }
84                 }
85
86                 public override bool CanCombineFormsInDeck {
87                         get { return w.CanCombineFormsInDeck; }
88                 }
89
90                 public override bool CanInitiateVoiceCall {
91                         get { return w.CanInitiateVoiceCall; }
92                 }
93
94                 public override bool CanRenderAfterInputOrSelectElement {
95                         get { return w.CanRenderAfterInputOrSelectElement; }
96                 }
97
98                 public override bool CanRenderEmptySelects {
99                         get { return w.CanRenderEmptySelects; }
100                 }
101
102                 public override bool CanRenderInputAndSelectElementsTogether {
103                         get { return w.CanRenderInputAndSelectElementsTogether; }
104                 }
105
106                 public override bool CanRenderMixedSelects {
107                         get { return w.CanRenderMixedSelects; }
108                 }
109
110                 public override bool CanRenderOneventAndPrevElementsTogether {
111                         get { return w.CanRenderOneventAndPrevElementsTogether; }
112                 }
113
114                 public override bool CanRenderPostBackCards {
115                         get { return w.CanRenderPostBackCards; }
116                 }
117
118                 public override bool CanRenderSetvarZeroWithMultiSelectionList {
119                         get { return w.CanRenderSetvarZeroWithMultiSelectionList; }
120                 }
121
122                 public override bool CanSendMail {
123                         get { return w.CanSendMail; }
124                 }
125
126                 public override IDictionary Capabilities {
127                         get { return w.Capabilities; } set { w.Capabilities = value; }
128                 }
129
130                 public override bool CDF {
131                         get { return w.CDF; }
132                 }
133
134                 public override Version ClrVersion {
135                         get { return w.ClrVersion; }
136                 }
137
138                 public override bool Cookies {
139                         get { return w.Cookies; }
140                 }
141
142                 public override bool Crawler {
143                         get { return w.Crawler; }
144                 }
145
146                 public override int DefaultSubmitButtonLimit {
147                         get { return w.DefaultSubmitButtonLimit; }
148                 }
149
150                 public override Version EcmaScriptVersion {
151                         get { return w.EcmaScriptVersion; }
152                 }
153
154                 public override bool Frames {
155                         get { return w.Frames; }
156                 }
157
158                 public override int GatewayMajorVersion {
159                         get { return w.GatewayMajorVersion; }
160                 }
161
162                 public override double GatewayMinorVersion {
163                         get { return w.GatewayMinorVersion; }
164                 }
165
166                 public override string GatewayVersion {
167                         get { return w.GatewayVersion; }
168                 }
169
170                 public override bool HasBackButton {
171                         get { return w.HasBackButton; }
172                 }
173
174                 public override bool HidesRightAlignedMultiselectScrollbars {
175                         get { return w.HidesRightAlignedMultiselectScrollbars; }
176                 }
177
178                 public override string HtmlTextWriter {
179                         get { return w.HtmlTextWriter; } set { w.HtmlTextWriter = value; }
180                 }
181
182                 public override string Id {
183                         get { return w.Id; }
184                 }
185
186                 public override string InputType {
187                         get { return w.InputType; }
188                 }
189
190                 public override bool IsColor {
191                         get { return w.IsColor; }
192                 }
193
194                 public override bool IsMobileDevice {
195                         get { return w.IsMobileDevice; }
196                 }
197
198                 public override string this [string key] {
199                         get { throw new NotImplementedException (); }
200                 }
201
202                 public override bool JavaApplets {
203                         get { return w.JavaApplets; }
204                 }
205
206                 public override Version JScriptVersion {
207                         get { return w.JScriptVersion; }
208                 }
209
210                 public override int MajorVersion {
211                         get { return w.MajorVersion; }
212                 }
213
214                 public override int MaximumHrefLength {
215                         get { return w.MaximumHrefLength; }
216                 }
217
218                 public override int MaximumRenderedPageSize {
219                         get { return w.MaximumRenderedPageSize; }
220                 }
221
222                 public override int MaximumSoftkeyLabelLength {
223                         get { return w.MaximumSoftkeyLabelLength; }
224                 }
225
226                 public override double MinorVersion {
227                         get { return w.MinorVersion; }
228                 }
229
230                 public override string MinorVersionString {
231                         get { return w.MinorVersionString; }
232                 }
233
234                 public override string MobileDeviceManufacturer {
235                         get { return w.MobileDeviceManufacturer; }
236                 }
237
238                 public override string MobileDeviceModel {
239                         get { return w.MobileDeviceModel; }
240                 }
241
242                 public override Version MSDomVersion {
243                         get { return w.MSDomVersion; }
244                 }
245
246                 public override int NumberOfSoftkeys {
247                         get { return w.NumberOfSoftkeys; }
248                 }
249
250                 public override string Platform {
251                         get { return w.Platform; }
252                 }
253
254                 public override string PreferredImageMime {
255                         get { return w.PreferredImageMime; }
256                 }
257
258                 public override string PreferredRenderingMime {
259                         get { return w.PreferredRenderingMime; }
260                 }
261
262                 public override string PreferredRenderingType {
263                         get { return w.PreferredRenderingType; }
264                 }
265
266                 public override string PreferredRequestEncoding {
267                         get { return w.PreferredRequestEncoding; }
268                 }
269
270                 public override string PreferredResponseEncoding {
271                         get { return w.PreferredResponseEncoding; }
272                 }
273
274                 public override bool RendersBreakBeforeWmlSelectAndInput {
275                         get { return w.RendersBreakBeforeWmlSelectAndInput; }
276                 }
277
278                 public override bool RendersBreaksAfterHtmlLists {
279                         get { return w.RendersBreaksAfterHtmlLists; }
280                 }
281
282                 public override bool RendersBreaksAfterWmlAnchor {
283                         get { return w.RendersBreaksAfterWmlAnchor; }
284                 }
285
286                 public override bool RendersBreaksAfterWmlInput {
287                         get { return w.RendersBreaksAfterWmlInput; }
288                 }
289
290                 public override bool RendersWmlDoAcceptsInline {
291                         get { return w.RendersWmlDoAcceptsInline; }
292                 }
293
294                 public override bool RendersWmlSelectsAsMenuCards {
295                         get { return w.RendersWmlSelectsAsMenuCards; }
296                 }
297
298                 public override string RequiredMetaTagNameValue {
299                         get { return w.RequiredMetaTagNameValue; }
300                 }
301
302                 public override bool RequiresAttributeColonSubstitution {
303                         get { return w.RequiresAttributeColonSubstitution; }
304                 }
305
306                 public override bool RequiresContentTypeMetaTag {
307                         get { return w.RequiresContentTypeMetaTag; }
308                 }
309
310                 public override bool RequiresControlStateInSession {
311                         get { return w.RequiresControlStateInSession; }
312                 }
313
314                 public override bool RequiresDBCSCharacter {
315                         get { return w.RequiresDBCSCharacter; }
316                 }
317
318                 public override bool RequiresHtmlAdaptiveErrorReporting {
319                         get { return w.RequiresHtmlAdaptiveErrorReporting; }
320                 }
321
322                 public override bool RequiresLeadingPageBreak {
323                         get { return w.RequiresLeadingPageBreak; }
324                 }
325
326                 public override bool RequiresNoBreakInFormatting {
327                         get { return w.RequiresNoBreakInFormatting; }
328                 }
329
330                 public override bool RequiresOutputOptimization {
331                         get { return w.RequiresOutputOptimization; }
332                 }
333
334                 public override bool RequiresPhoneNumbersAsPlainText {
335                         get { return w.RequiresPhoneNumbersAsPlainText; }
336                 }
337
338                 public override bool RequiresSpecialViewStateEncoding {
339                         get { return w.RequiresSpecialViewStateEncoding; }
340                 }
341
342                 public override bool RequiresUniqueFilePathSuffix {
343                         get { return w.RequiresUniqueFilePathSuffix; }
344                 }
345
346                 public override bool RequiresUniqueHtmlCheckboxNames {
347                         get { return w.RequiresUniqueHtmlCheckboxNames; }
348                 }
349
350                 public override bool RequiresUniqueHtmlInputNames {
351                         get { return w.RequiresUniqueHtmlInputNames; }
352                 }
353
354                 public override bool RequiresUrlEncodedPostfieldValues {
355                         get { return w.RequiresUrlEncodedPostfieldValues; }
356                 }
357
358                 public override int ScreenBitDepth {
359                         get { return w.ScreenBitDepth; }
360                 }
361
362                 public override int ScreenCharactersHeight {
363                         get { return w.ScreenCharactersHeight; }
364                 }
365
366                 public override int ScreenCharactersWidth {
367                         get { return w.ScreenCharactersWidth; }
368                 }
369
370                 public override int ScreenPixelsHeight {
371                         get { return w.ScreenPixelsHeight; }
372                 }
373
374                 public override int ScreenPixelsWidth {
375                         get { return w.ScreenPixelsWidth; }
376                 }
377
378                 public override bool SupportsAccesskeyAttribute {
379                         get { return w.SupportsAccesskeyAttribute; }
380                 }
381
382                 public override bool SupportsBodyColor {
383                         get { return w.SupportsBodyColor; }
384                 }
385
386                 public override bool SupportsBold {
387                         get { return w.SupportsBold; }
388                 }
389
390                 public override bool SupportsCacheControlMetaTag {
391                         get { return w.SupportsCacheControlMetaTag; }
392                 }
393
394                 public override bool SupportsCallback {
395                         get { return w.SupportsCallback; }
396                 }
397
398                 public override bool SupportsCss {
399                         get { return w.SupportsCss; }
400                 }
401
402                 public override bool SupportsDivAlign {
403                         get { return w.SupportsDivAlign; }
404                 }
405
406                 public override bool SupportsDivNoWrap {
407                         get { return w.SupportsDivNoWrap; }
408                 }
409
410                 public override bool SupportsEmptyStringInCookieValue {
411                         get { return w.SupportsEmptyStringInCookieValue; }
412                 }
413
414                 public override bool SupportsFontColor {
415                         get { return w.SupportsFontColor; }
416                 }
417
418                 public override bool SupportsFontName {
419                         get { return w.SupportsFontName; }
420                 }
421
422                 public override bool SupportsFontSize {
423                         get { return w.SupportsFontSize; }
424                 }
425
426                 public override bool SupportsImageSubmit {
427                         get { return w.SupportsImageSubmit; }
428                 }
429
430                 public override bool SupportsIModeSymbols {
431                         get { return w.SupportsIModeSymbols; }
432                 }
433
434                 public override bool SupportsInputIStyle {
435                         get { return w.SupportsInputIStyle; }
436                 }
437
438                 public override bool SupportsInputMode {
439                         get { return w.SupportsInputMode; }
440                 }
441
442                 public override bool SupportsItalic {
443                         get { return w.SupportsItalic; }
444                 }
445
446                 public override bool SupportsJPhoneMultiMediaAttributes {
447                         get { return w.SupportsJPhoneMultiMediaAttributes; }
448                 }
449
450                 public override bool SupportsJPhoneSymbols {
451                         get { return w.SupportsJPhoneSymbols; }
452                 }
453
454                 public override bool SupportsQueryStringInFormAction {
455                         get { return w.SupportsQueryStringInFormAction; }
456                 }
457
458                 public override bool SupportsRedirectWithCookie {
459                         get { return w.SupportsRedirectWithCookie; }
460                 }
461
462                 public override bool SupportsSelectMultiple {
463                         get { return w.SupportsSelectMultiple; }
464                 }
465
466                 public override bool SupportsUncheck {
467                         get { return w.SupportsUncheck; }
468                 }
469
470                 public override bool SupportsXmlHttp {
471                         get { return w.SupportsXmlHttp; }
472                 }
473
474                 public override bool Tables {
475                         get { return w.Tables; }
476                 }
477
478                 public override Type TagWriter {
479                         get { return w.TagWriter; }
480                 }
481
482                 public override string Type {
483                         get { return w.Type; }
484                 }
485
486                 public override bool UseOptimizedCacheKey {
487                         get { return w.UseOptimizedCacheKey; }
488                 }
489
490                 public override bool VBScript {
491                         get { return w.VBScript; }
492                 }
493
494                 public override string Version {
495                         get { return w.Version; }
496                 }
497
498                 public override Version W3CDomVersion {
499                         get { return w.W3CDomVersion; }
500                 }
501
502                 public override bool Win16 {
503                         get { return w.Win16; }
504                 }
505
506                 public override bool Win32 {
507                         get { return w.Win32; }
508                 }
509
510                 public override void AddBrowser (string browserName)
511                 {
512                         w.AddBrowser (browserName);
513                 }
514
515                 [MonoTODO]
516                 public override int CompareFilters (string filter1, string filter2)
517                 {
518                         throw new NotImplementedException ();
519                 }
520
521                 [MonoTODO]
522                 public override HtmlTextWriter CreateHtmlTextWriter (TextWriter w)
523                 {
524                         throw new NotImplementedException ();
525                 }
526
527                 public override void DisableOptimizedCacheKey ()
528                 {
529                         w.DisableOptimizedCacheKey ();
530                 }
531
532                 [MonoTODO]
533                 public override bool EvaluateFilter (string filterName)
534                 {
535                         throw new NotImplementedException ();
536                 }
537
538                 public override Version [] GetClrVersions ()
539                 {
540                         return w.GetClrVersions ();
541                 }
542
543                 public override bool IsBrowser (string browserName)
544                 {
545                         return w.IsBrowser (browserName);
546                 }
547         }
548 }