2 // System.Web.Configuration.HttpCapabilitiesBase
5 // Chris Toshok (toshok@ximian.com)
7 // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 using System.Collections;
32 using System.Security.Permissions;
36 namespace System.Web.Configuration
38 public partial class HttpCapabilitiesBase: IFilterResolutionService
40 int IFilterResolutionService.CompareFilters (string filter1, string filter2)
42 throw new NotImplementedException ();
45 bool IFilterResolutionService.EvaluateFilter (string filterName)
47 throw new NotImplementedException ();
50 public void AddBrowser (string browserName)
54 public HtmlTextWriter CreateHtmlTextWriter (TextWriter w)
56 return new HtmlTextWriter (w);
59 public void DisableOptimizedCacheKey ()
61 throw new NotImplementedException ();
64 IDictionary adapters = null;
65 public IDictionary Adapters {
67 if (!Get (HaveAdapters)) {
68 adapters = new Hashtable ();
76 bool canCombineFormsInDeck;
77 public virtual bool CanCombineFormsInDeck {
79 if (!Get (HaveCanCombineFormsInDeck)) {
80 canCombineFormsInDeck = ReadBoolean ("cancombineformsindeck");
81 Set (HaveCanCombineFormsInDeck);
84 return canCombineFormsInDeck;
88 bool canInitiateVoiceCall;
89 public virtual bool CanInitiateVoiceCall {
91 if (!Get (HaveCanInitiateVoiceCall)) {
92 canInitiateVoiceCall = ReadBoolean ("caninitiatevoicecall");
93 Set (HaveCanInitiateVoiceCall);
96 return canInitiateVoiceCall;
100 bool canRenderAfterInputOrSelectElement;
101 public virtual bool CanRenderAfterInputOrSelectElement {
103 if (!Get (HaveCanRenderAfterInputOrSelectElement)) {
104 canRenderAfterInputOrSelectElement = ReadBoolean ("canrenderafterinputorselectelement");
105 Set (HaveCanRenderAfterInputOrSelectElement);
108 return canRenderAfterInputOrSelectElement;
112 bool canRenderEmptySelects;
113 public virtual bool CanRenderEmptySelects {
115 if (!Get (HaveCanRenderEmptySelects)) {
116 canRenderEmptySelects = ReadBoolean ("canrenderemptyselects");
117 Set (HaveCanRenderEmptySelects);
120 return canRenderEmptySelects;
124 bool canRenderInputAndSelectElementsTogether;
125 public virtual bool CanRenderInputAndSelectElementsTogether {
127 if (!Get (HaveCanRenderInputAndSelectElementsTogether)) {
128 canRenderInputAndSelectElementsTogether = ReadBoolean ("canrenderinputandselectelementstogether");
129 Set (HaveCanRenderInputAndSelectElementsTogether);
132 return canRenderInputAndSelectElementsTogether;
136 bool canRenderMixedSelects;
137 public virtual bool CanRenderMixedSelects {
139 if (!Get (HaveCanRenderMixedSelects)) {
140 canRenderMixedSelects = ReadBoolean ("canrendermixedselects");
141 Set (HaveCanRenderMixedSelects);
144 return canRenderMixedSelects;
148 bool canRenderOneventAndPrevElementsTogether;
149 public virtual bool CanRenderOneventAndPrevElementsTogether {
151 if (!Get (HaveCanRenderOneventAndPrevElementsTogether)) {
152 canRenderOneventAndPrevElementsTogether = ReadBoolean ("canrenderoneventandprevelementstogether");
153 Set (HaveCanRenderOneventAndPrevElementsTogether);
156 return canRenderOneventAndPrevElementsTogether;
160 bool canRenderPostBackCards;
161 public virtual bool CanRenderPostBackCards {
163 if (!Get (HaveCanRenderPostBackCards)) {
164 canRenderPostBackCards = ReadBoolean ("canrenderpostbackcards");
165 Set (HaveCanRenderPostBackCards);
168 return canRenderPostBackCards;
172 bool canRenderSetvarZeroWithMultiSelectionList;
173 public virtual bool CanRenderSetvarZeroWithMultiSelectionList {
175 if (!Get (HaveCanRenderSetvarZeroWithMultiSelectionList)) {
176 canRenderSetvarZeroWithMultiSelectionList = ReadBoolean ("canrendersetvarzerowithmultiselectionlist");
177 Set (HaveCanRenderSetvarZeroWithMultiSelectionList);
180 return canRenderSetvarZeroWithMultiSelectionList;
185 public virtual bool CanSendMail {
187 if (!Get (HaveCanSendMail)) {
188 canSendMail = ReadBoolean ("cansendmail");
189 Set (HaveCanSendMail);
196 public IDictionary Capabilities {
197 get { return capabilities; }
198 set { capabilities = value; }
201 int defaultSubmitButtonLimit;
202 public virtual int DefaultSubmitButtonLimit {
204 if (!Get (HaveDefaultSubmitButtonLimit)) {
205 defaultSubmitButtonLimit = ReadInt32 ("defaultsubmitbuttonlimit");
206 Set (HaveDefaultSubmitButtonLimit);
209 return defaultSubmitButtonLimit;
213 int gatewayMajorVersion;
214 public virtual int GatewayMajorVersion {
216 if (!Get (HaveGatewayMajorVersion)) {
217 gatewayMajorVersion = ReadInt32 ("gatewaymajorversion");
218 Set (HaveGatewayMajorVersion);
221 return gatewayMajorVersion;
225 Double gatewayMinorVersion;
226 public virtual Double GatewayMinorVersion {
228 if (!Get (HaveGatewayMinorVersion)) {
229 gatewayMinorVersion = ReadDouble ("gatewayminorversion");
230 Set (HaveGatewayMinorVersion);
233 return gatewayMinorVersion;
237 string gatewayVersion;
238 public virtual string GatewayVersion {
240 if (!Get (HaveGatewayVersion)) {
241 gatewayVersion = ReadString ("gatewayversion");
242 Set (HaveGatewayVersion);
245 return gatewayVersion;
250 public virtual bool HasBackButton {
252 if (!Get (HaveHasBackButton)) {
253 hasBackButton = ReadBoolean ("hasbackbutton");
254 Set (HaveHasBackButton);
257 return hasBackButton;
261 bool hidesRightAlignedMultiselectScrollbars;
262 public virtual bool HidesRightAlignedMultiselectScrollbars {
264 if (!Get (HaveHidesRightAlignedMultiselectScrollbars)) {
265 hidesRightAlignedMultiselectScrollbars = ReadBoolean ("hidesrightalignedmultiselectscrollbars");
266 Set (HaveHidesRightAlignedMultiselectScrollbars);
269 return hidesRightAlignedMultiselectScrollbars;
273 string htmlTextWriter;
274 public string HtmlTextWriter {
276 if (!Get (HaveHtmlTextWriter)) {
277 htmlTextWriter = ReadString ("htmlTextWriter");
278 Set (HaveHtmlTextWriter);
281 return htmlTextWriter;
284 Set (HaveHtmlTextWriter);
285 htmlTextWriter = value;
290 get { return this.Browser; }
294 public virtual string InputType {
296 if (!Get (HaveInputType)) {
297 inputType = ReadString ("inputtype");
306 public virtual bool IsColor {
308 if (!Get (HaveIsColor)) {
309 isColor = ReadBoolean ("iscolor");
318 public virtual bool IsMobileDevice {
320 if (!Get (HaveIsMobileDevice)) {
321 isMobileDevice = ReadBoolean ("ismobiledevice");
322 Set (HaveIsMobileDevice);
325 return isMobileDevice;
329 Version jscriptVersion;
330 public Version JScriptVersion {
332 if (!Get (HaveJScriptVersion)) {
333 jscriptVersion = ReadVersion ("jscriptversion");
334 Set (HaveJScriptVersion);
337 return jscriptVersion;
341 int maximumHrefLength;
342 public virtual int MaximumHrefLength {
344 if (!Get (HaveMaximumHrefLength)) {
345 maximumHrefLength = ReadInt32 ("maximumhreflength");
346 Set (HaveMaximumHrefLength);
349 return maximumHrefLength;
353 int maximumRenderedPageSize;
354 public virtual int MaximumRenderedPageSize {
356 if (!Get (HaveMaximumRenderedPageSize)) {
357 maximumRenderedPageSize = ReadInt32 ("maximumrenderedpagesize");
358 Set (HaveMaximumRenderedPageSize);
361 return maximumRenderedPageSize;
365 int maximumSoftkeyLabelLength;
366 public virtual int MaximumSoftkeyLabelLength {
368 if (!Get (HaveMaximumSoftkeyLabelLength)) {
369 maximumSoftkeyLabelLength = ReadInt32 ("maximumsoftkeylabellength");
370 Set (HaveMaximumSoftkeyLabelLength);
373 return maximumSoftkeyLabelLength;
377 string minorVersionString;
378 public string MinorVersionString {
380 if (!Get (HaveMinorVersionString)) {
381 minorVersionString = ReadString ("minorversionstring");
382 Set (HaveMinorVersionString);
385 return minorVersionString;
389 string mobileDeviceManufacturer;
390 public virtual string MobileDeviceManufacturer {
392 if (!Get (HaveMobileDeviceManufacturer)) {
393 mobileDeviceManufacturer = ReadString ("mobiledevicemanufacturer");
394 Set (HaveMobileDeviceManufacturer);
397 return mobileDeviceManufacturer;
401 string mobileDeviceModel;
402 public virtual string MobileDeviceModel {
404 if (!Get (HaveMobileDeviceModel)) {
405 mobileDeviceModel = ReadString ("mobiledevicemodel");
406 Set (HaveMobileDeviceModel);
409 return mobileDeviceModel;
413 int numberOfSoftkeys;
414 public virtual int NumberOfSoftkeys {
416 if (!Get (HaveNumberOfSoftkeys)) {
417 numberOfSoftkeys = ReadInt32 ("numberofsoftkeys");
418 Set (HaveNumberOfSoftkeys);
421 return numberOfSoftkeys;
425 string preferredImageMime;
426 public virtual string PreferredImageMime {
428 if (!Get (HavePreferredImageMime)) {
429 preferredImageMime = ReadString ("preferredimagemime");
430 Set (HavePreferredImageMime);
433 return preferredImageMime;
437 string preferredRenderingMime;
438 public virtual string PreferredRenderingMime {
440 if (!Get (HavePreferredRenderingMime)) {
441 preferredRenderingMime = ReadString ("preferredrenderingmime");
442 Set (HavePreferredRenderingMime);
445 return preferredRenderingMime;
449 string preferredRenderingType;
450 public virtual string PreferredRenderingType {
452 if (!Get (HavePreferredRenderingType)) {
453 preferredRenderingType = ReadString ("preferredrenderingtype");
454 Set (HavePreferredRenderingType);
457 return preferredRenderingType;
461 string preferredRequestEncoding;
462 public virtual string PreferredRequestEncoding {
464 if (!Get (HavePreferredRequestEncoding)) {
465 preferredRequestEncoding = ReadString ("preferredrequestencoding");
466 Set (HavePreferredRequestEncoding);
469 return preferredRequestEncoding;
473 string preferredResponseEncoding;
474 public virtual string PreferredResponseEncoding {
476 if (!Get (HavePreferredResponseEncoding)) {
477 preferredResponseEncoding = ReadString ("preferredresponseencoding");
478 Set (HavePreferredResponseEncoding);
481 return preferredResponseEncoding;
485 bool rendersBreakBeforeWmlSelectAndInput;
486 public virtual bool RendersBreakBeforeWmlSelectAndInput {
488 if (!Get (HaveRendersBreakBeforeWmlSelectAndInput)) {
489 rendersBreakBeforeWmlSelectAndInput = ReadBoolean ("rendersbreakbeforewmlselectandinput");
490 Set (HaveRendersBreakBeforeWmlSelectAndInput);
493 return rendersBreakBeforeWmlSelectAndInput;
497 bool rendersBreaksAfterHtmlLists;
498 public virtual bool RendersBreaksAfterHtmlLists {
500 if (!Get (HaveRendersBreaksAfterHtmlLists)) {
501 rendersBreaksAfterHtmlLists = ReadBoolean ("rendersbreaksafterhtmllists");
502 Set (HaveRendersBreaksAfterHtmlLists);
505 return rendersBreaksAfterHtmlLists;
509 bool rendersBreaksAfterWmlAnchor;
510 public virtual bool RendersBreaksAfterWmlAnchor {
512 if (!Get (HaveRendersBreaksAfterWmlAnchor)) {
513 rendersBreaksAfterWmlAnchor = ReadBoolean ("rendersbreaksafterwmlanchor");
514 Set (HaveRendersBreaksAfterWmlAnchor);
517 return rendersBreaksAfterWmlAnchor;
521 bool rendersBreaksAfterWmlInput;
522 public virtual bool RendersBreaksAfterWmlInput {
524 if (!Get (HaveRendersBreaksAfterWmlInput)) {
525 rendersBreaksAfterWmlInput = ReadBoolean ("rendersbreaksafterwmlinput");
526 Set (HaveRendersBreaksAfterWmlInput);
529 return rendersBreaksAfterWmlInput;
533 bool rendersWmlDoAcceptsInline;
534 public virtual bool RendersWmlDoAcceptsInline {
536 if (!Get (HaveRendersWmlDoAcceptsInline)) {
537 rendersWmlDoAcceptsInline = ReadBoolean ("renderswmldoacceptsinline");
538 Set (HaveRendersWmlDoAcceptsInline);
541 return rendersWmlDoAcceptsInline;
545 bool rendersWmlSelectsAsMenuCards;
546 public virtual bool RendersWmlSelectsAsMenuCards {
548 if (!Get (HaveRendersWmlSelectsAsMenuCards)) {
549 rendersWmlSelectsAsMenuCards = ReadBoolean ("renderswmlselectsasmenucards");
550 Set (HaveRendersWmlSelectsAsMenuCards);
553 return rendersWmlSelectsAsMenuCards;
557 string requiredMetaTagNameValue;
558 public virtual string RequiredMetaTagNameValue {
560 if (!Get (HaveRequiredMetaTagNameValue)) {
561 requiredMetaTagNameValue = ReadString ("requiredmetatagnamevalue");
562 Set (HaveRequiredMetaTagNameValue);
565 return requiredMetaTagNameValue;
569 bool requiresAttributeColonSubstitution;
570 public virtual bool RequiresAttributeColonSubstitution {
572 if (!Get (HaveRequiresAttributeColonSubstitution)) {
573 requiresAttributeColonSubstitution = ReadBoolean ("requiresattributecolonsubstitution");
574 Set (HaveRequiresAttributeColonSubstitution);
577 return requiresAttributeColonSubstitution;
581 bool requiresContentTypeMetaTag;
582 public virtual bool RequiresContentTypeMetaTag {
584 if (!Get (HaveRequiresContentTypeMetaTag)) {
585 requiresContentTypeMetaTag = ReadBoolean ("requiresContentTypeMetaTag");
586 Set (HaveRequiresContentTypeMetaTag);
589 return requiresContentTypeMetaTag;
593 bool requiresControlStateInSession;
594 public bool RequiresControlStateInSession {
596 if (!Get (HaveRequiresControlStateInSession)) {
597 requiresControlStateInSession = ReadBoolean ("requiresControlStateInSession");
598 Set (HaveRequiresControlStateInSession);
601 return requiresControlStateInSession;
605 bool requiresDBCSCharacter;
606 public virtual bool RequiresDBCSCharacter {
608 if (!Get (HaveRequiresDBCSCharacter)) {
609 requiresDBCSCharacter = ReadBoolean ("requiresdbcscharacter");
610 Set (HaveRequiresDBCSCharacter);
613 return requiresDBCSCharacter;
617 bool requiresHtmlAdaptiveErrorReporting;
618 public virtual bool RequiresHtmlAdaptiveErrorReporting {
620 if (!Get (HaveRequiresHtmlAdaptiveErrorReporting)) {
621 requiresHtmlAdaptiveErrorReporting = ReadBoolean ("requireshtmladaptiveerrorreporting");
622 Set (HaveRequiresHtmlAdaptiveErrorReporting);
625 return requiresHtmlAdaptiveErrorReporting;
629 bool requiresLeadingPageBreak;
630 public virtual bool RequiresLeadingPageBreak {
632 if (!Get (HaveRequiresLeadingPageBreak)) {
633 requiresLeadingPageBreak = ReadBoolean ("requiresleadingpagebreak");
634 Set (HaveRequiresLeadingPageBreak);
637 return requiresLeadingPageBreak;
641 bool requiresNoBreakInFormatting;
642 public virtual bool RequiresNoBreakInFormatting {
644 if (!Get (HaveRequiresNoBreakInFormatting)) {
645 requiresNoBreakInFormatting = ReadBoolean ("requiresnobreakinformatting");
646 Set (HaveRequiresNoBreakInFormatting);
649 return requiresNoBreakInFormatting;
653 bool requiresOutputOptimization;
654 public virtual bool RequiresOutputOptimization {
656 if (!Get (HaveRequiresOutputOptimization)) {
657 requiresOutputOptimization = ReadBoolean ("requiresoutputoptimization");
658 Set (HaveRequiresOutputOptimization);
661 return requiresOutputOptimization;
665 bool requiresPhoneNumbersAsPlainText;
666 public virtual bool RequiresPhoneNumbersAsPlainText {
668 if (!Get (HaveRequiresPhoneNumbersAsPlainText)) {
669 requiresPhoneNumbersAsPlainText = ReadBoolean ("requiresphonenumbersasplaintext");
670 Set (HaveRequiresPhoneNumbersAsPlainText);
673 return requiresPhoneNumbersAsPlainText;
677 bool requiresSpecialViewStateEncoding;
678 public virtual bool RequiresSpecialViewStateEncoding {
680 if (!Get (HaveRequiresSpecialViewStateEncoding)) {
681 requiresSpecialViewStateEncoding = ReadBoolean ("requiresspecialviewstateencoding");
682 Set (HaveRequiresSpecialViewStateEncoding);
685 return requiresSpecialViewStateEncoding;
689 bool requiresUniqueFilePathSuffix;
690 public virtual bool RequiresUniqueFilePathSuffix {
692 if (!Get (HaveRequiresUniqueFilePathSuffix)) {
693 requiresUniqueFilePathSuffix = ReadBoolean ("requiresuniquefilepathsuffix");
694 Set (HaveRequiresUniqueFilePathSuffix);
697 return requiresUniqueFilePathSuffix;
701 bool requiresUniqueHtmlCheckboxNames;
702 public virtual bool RequiresUniqueHtmlCheckboxNames {
704 if (!Get (HaveRequiresUniqueHtmlCheckboxNames)) {
705 requiresUniqueHtmlCheckboxNames = ReadBoolean ("requiresuniquehtmlcheckboxnames");
706 Set (HaveRequiresUniqueHtmlCheckboxNames);
709 return requiresUniqueHtmlCheckboxNames;
713 bool requiresUniqueHtmlInputNames;
714 public virtual bool RequiresUniqueHtmlInputNames {
716 if (!Get (HaveRequiresUniqueHtmlInputNames)) {
717 requiresUniqueHtmlInputNames = ReadBoolean ("requiresuniquehtmlinputnames");
718 Set (HaveRequiresUniqueHtmlInputNames);
721 return requiresUniqueHtmlInputNames;
725 bool requiresUrlEncodedPostfieldValues;
726 public virtual bool RequiresUrlEncodedPostfieldValues {
728 if (!Get (HaveRequiresUrlEncodedPostfieldValues)) {
729 requiresUrlEncodedPostfieldValues = ReadBoolean ("requiresurlencodedpostfieldvalues");
730 Set (HaveRequiresUrlEncodedPostfieldValues);
733 return requiresUrlEncodedPostfieldValues;
738 public virtual int ScreenBitDepth {
740 if (!Get (HaveScreenBitDepth)) {
741 screenBitDepth = ReadInt32 ("screenbitdepth");
742 Set (HaveScreenBitDepth);
745 return screenBitDepth;
749 int screenCharactersHeight;
750 public virtual int ScreenCharactersHeight {
752 if (!Get (HaveScreenCharactersHeight)) {
753 screenCharactersHeight = ReadInt32 ("screencharactersheight");
754 Set (HaveScreenCharactersHeight);
757 return screenCharactersHeight;
761 int screenCharactersWidth;
762 public virtual int ScreenCharactersWidth {
764 if (!Get (HaveScreenCharactersWidth)) {
765 screenCharactersWidth = ReadInt32 ("screencharacterswidth");
766 Set (HaveScreenCharactersWidth);
769 return screenCharactersWidth;
773 int screenPixelsHeight;
774 public virtual int ScreenPixelsHeight {
776 if (!Get (HaveScreenPixelsHeight)) {
777 screenPixelsHeight = ReadInt32 ("screenpixelsheight");
778 Set (HaveScreenPixelsHeight);
781 return screenPixelsHeight;
785 int screenPixelsWidth;
786 public virtual int ScreenPixelsWidth {
788 if (!Get (HaveScreenPixelsWidth)) {
789 screenPixelsWidth = ReadInt32 ("screenpixelswidth");
790 Set (HaveScreenPixelsWidth);
793 return screenPixelsWidth;
797 bool supportsAccesskeyAttribute;
798 public virtual bool SupportsAccesskeyAttribute {
800 if (!Get (HaveSupportsAccesskeyAttribute)) {
801 supportsAccesskeyAttribute = ReadBoolean ("supportsaccesskeyattribute");
802 Set (HaveSupportsAccesskeyAttribute);
805 return supportsAccesskeyAttribute;
809 bool supportsBodyColor;
810 public virtual bool SupportsBodyColor {
812 if (!Get (HaveSupportsBodyColor)) {
813 supportsBodyColor = ReadBoolean ("supportsbodycolor");
814 Set (HaveSupportsBodyColor);
817 return supportsBodyColor;
822 public virtual bool SupportsBold {
824 if (!Get (HaveSupportsBold)) {
825 supportsBold = ReadBoolean ("supportsbold");
826 Set (HaveSupportsBold);
833 bool supportsCacheControlMetaTag;
834 public virtual bool SupportsCacheControlMetaTag {
836 if (!Get (HaveSupportsCacheControlMetaTag)) {
837 supportsCacheControlMetaTag = ReadBoolean ("supportscachecontrolmetatag");
838 Set (HaveSupportsCacheControlMetaTag);
841 return supportsCacheControlMetaTag;
845 bool supportsCallback;
846 public virtual bool SupportsCallback {
848 if (!Get (HaveSupportsCallback)) {
849 supportsCallback = ReadBoolean ("supportscallback");
850 Set (HaveSupportsCallback);
853 return supportsCallback;
858 public virtual bool SupportsCss {
860 if (!Get (HaveSupportsCss)) {
861 supportsCss = ReadBoolean ("supportscss");
862 Set (HaveSupportsCss);
869 bool supportsDivAlign;
870 public virtual bool SupportsDivAlign {
872 if (!Get (HaveSupportsDivAlign)) {
873 supportsDivAlign = ReadBoolean ("supportsdivalign");
874 Set (HaveSupportsDivAlign);
877 return supportsDivAlign;
881 bool supportsDivNoWrap;
882 public virtual bool SupportsDivNoWrap {
884 if (!Get (HaveSupportsDivNoWrap)) {
885 supportsDivNoWrap = ReadBoolean ("supportsdivnowrap");
886 Set (HaveRequiresDBCSCharacter);
889 return supportsDivNoWrap;
893 bool supportsEmptyStringInCookieValue;
894 public virtual bool SupportsEmptyStringInCookieValue {
896 if (!Get (HaveSupportsEmptyStringInCookieValue)) {
897 supportsEmptyStringInCookieValue = ReadBoolean ("supportsemptystringincookievalue");
898 Set (HaveSupportsEmptyStringInCookieValue);
901 return supportsEmptyStringInCookieValue;
905 bool supportsFontColor;
906 public virtual bool SupportsFontColor {
908 if (!Get (HaveSupportsFontColor)) {
909 supportsFontColor = ReadBoolean ("supportsfontcolor");
910 Set (HaveSupportsFontColor);
913 return supportsFontColor;
917 bool supportsFontName;
918 public virtual bool SupportsFontName {
920 if (!Get (HaveSupportsFontName)) {
921 supportsFontName = ReadBoolean ("supportsfontname");
922 Set (HaveSupportsFontName);
925 return supportsFontName;
929 bool supportsFontSize;
930 public virtual bool SupportsFontSize {
932 if (!Get (HaveSupportsFontSize)) {
933 supportsFontSize = ReadBoolean ("supportsfontsize");
934 Set (HaveSupportsFontSize);
937 return supportsFontSize;
941 bool supportsImageSubmit;
942 public virtual bool SupportsImageSubmit {
944 if (!Get (HaveSupportsImageSubmit)) {
945 supportsImageSubmit = ReadBoolean ("supportsimagesubmit");
946 Set (HaveSupportsImageSubmit);
949 return supportsImageSubmit;
953 bool supportsIModeSymbols;
954 public virtual bool SupportsIModeSymbols {
956 if (!Get (HaveSupportsIModeSymbols)) {
957 supportsIModeSymbols = ReadBoolean ("supportsimodesymbols");
958 Set (HaveSupportsIModeSymbols);
961 return supportsIModeSymbols;
965 bool supportsInputIStyle;
966 public virtual bool SupportsInputIStyle {
968 if (!Get (HaveSupportsInputIStyle)) {
969 supportsInputIStyle = ReadBoolean ("supportsinputistyle");
970 Set (HaveSupportsInputIStyle);
973 return supportsInputIStyle;
977 bool supportsInputMode;
978 public virtual bool SupportsInputMode {
980 if (!Get (HaveSupportsInputMode)) {
981 supportsInputMode = ReadBoolean ("supportsinputmode");
982 Set (HaveSupportsInputMode);
985 return supportsInputMode;
990 public virtual bool SupportsItalic {
992 if (!Get (HaveSupportsItalic)) {
993 supportsItalic = ReadBoolean ("supportsitalic");
994 Set (HaveSupportsItalic);
997 return supportsItalic;
1001 bool supportsJPhoneMultiMediaAttributes;
1002 public virtual bool SupportsJPhoneMultiMediaAttributes {
1004 if (!Get (HaveSupportsJPhoneMultiMediaAttributes)) {
1005 supportsJPhoneMultiMediaAttributes = ReadBoolean ("supportsjphonemultimediaattributes");
1006 Set (HaveSupportsJPhoneMultiMediaAttributes);
1009 return supportsJPhoneMultiMediaAttributes;
1013 bool supportsJPhoneSymbols;
1014 public virtual bool SupportsJPhoneSymbols {
1016 if (!Get (HaveSupportsJPhoneSymbols)) {
1017 supportsJPhoneSymbols = ReadBoolean ("supportsjphonesymbols");
1018 Set (HaveSupportsJPhoneSymbols);
1021 return supportsJPhoneSymbols;
1025 bool supportsQueryStringInFormAction;
1026 public virtual bool SupportsQueryStringInFormAction {
1028 if (!Get (HaveSupportsQueryStringInFormAction)) {
1029 supportsQueryStringInFormAction = ReadBoolean ("supportsquerystringinformaction");
1030 Set (HaveSupportsQueryStringInFormAction);
1033 return supportsQueryStringInFormAction;
1037 bool supportsRedirectWithCookie;
1038 public virtual bool SupportsRedirectWithCookie {
1040 if (!Get (HaveSupportsRedirectWithCookie)) {
1041 supportsRedirectWithCookie = ReadBoolean ("supportsredirectwithcookie");
1042 Set (HaveSupportsRedirectWithCookie);
1045 return supportsRedirectWithCookie;
1049 bool supportsSelectMultiple;
1050 public virtual bool SupportsSelectMultiple {
1052 if (!Get (HaveSupportsSelectMultiple)) {
1053 supportsSelectMultiple = ReadBoolean ("supportsselectmultiple");
1054 Set (HaveSupportsSelectMultiple);
1057 return supportsSelectMultiple;
1061 bool supportsUncheck;
1062 public virtual bool SupportsUncheck {
1064 if (!Get (HaveSupportsUncheck)) {
1065 supportsUncheck = ReadBoolean ("supportsuncheck");
1066 Set (HaveSupportsUncheck);
1069 return supportsUncheck;
1073 bool supportsXmlHttp;
1074 public virtual bool SupportsXmlHttp {
1076 if (!Get (HaveSupportsXmlHttp)) {
1077 supportsXmlHttp = ReadBoolean ("supportsxmlhttp");
1078 Set (HaveSupportsXmlHttp);
1081 return supportsXmlHttp;
1085 bool useOptimizedCacheKey;
1086 public bool UseOptimizedCacheKey {
1088 if (!Get (HaveUseOptimizedCacheKey)) {
1089 useOptimizedCacheKey = ReadBoolean ("useoptimizedcachekey");
1090 Set (HaveUseOptimizedCacheKey);
1093 return useOptimizedCacheKey;