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 (HtmlTextWriter) Activator.CreateInstance (TagWriter, new object[] {w});
59 public void DisableOptimizedCacheKey ()
61 throw new NotImplementedException ();
64 IDictionary adapters = null;
65 public IDictionary Adapters {
67 if (!Get (HaveAdapters)) {
68 adapters = GetAdapters();
76 internal virtual IDictionary GetAdapters ()
78 return new Hashtable();
81 bool canCombineFormsInDeck;
82 public virtual bool CanCombineFormsInDeck {
84 if (!Get (HaveCanCombineFormsInDeck)) {
85 canCombineFormsInDeck = ReadBoolean ("cancombineformsindeck");
86 Set (HaveCanCombineFormsInDeck);
89 return canCombineFormsInDeck;
93 bool canInitiateVoiceCall;
94 public virtual bool CanInitiateVoiceCall {
96 if (!Get (HaveCanInitiateVoiceCall)) {
97 canInitiateVoiceCall = ReadBoolean ("caninitiatevoicecall");
98 Set (HaveCanInitiateVoiceCall);
101 return canInitiateVoiceCall;
105 bool canRenderAfterInputOrSelectElement;
106 public virtual bool CanRenderAfterInputOrSelectElement {
108 if (!Get (HaveCanRenderAfterInputOrSelectElement)) {
109 canRenderAfterInputOrSelectElement = ReadBoolean ("canrenderafterinputorselectelement");
110 Set (HaveCanRenderAfterInputOrSelectElement);
113 return canRenderAfterInputOrSelectElement;
117 bool canRenderEmptySelects;
118 public virtual bool CanRenderEmptySelects {
120 if (!Get (HaveCanRenderEmptySelects)) {
121 canRenderEmptySelects = ReadBoolean ("canrenderemptyselects");
122 Set (HaveCanRenderEmptySelects);
125 return canRenderEmptySelects;
129 bool canRenderInputAndSelectElementsTogether;
130 public virtual bool CanRenderInputAndSelectElementsTogether {
132 if (!Get (HaveCanRenderInputAndSelectElementsTogether)) {
133 canRenderInputAndSelectElementsTogether = ReadBoolean ("canrenderinputandselectelementstogether");
134 Set (HaveCanRenderInputAndSelectElementsTogether);
137 return canRenderInputAndSelectElementsTogether;
141 bool canRenderMixedSelects;
142 public virtual bool CanRenderMixedSelects {
144 if (!Get (HaveCanRenderMixedSelects)) {
145 canRenderMixedSelects = ReadBoolean ("canrendermixedselects");
146 Set (HaveCanRenderMixedSelects);
149 return canRenderMixedSelects;
153 bool canRenderOneventAndPrevElementsTogether;
154 public virtual bool CanRenderOneventAndPrevElementsTogether {
156 if (!Get (HaveCanRenderOneventAndPrevElementsTogether)) {
157 canRenderOneventAndPrevElementsTogether = ReadBoolean ("canrenderoneventandprevelementstogether");
158 Set (HaveCanRenderOneventAndPrevElementsTogether);
161 return canRenderOneventAndPrevElementsTogether;
165 bool canRenderPostBackCards;
166 public virtual bool CanRenderPostBackCards {
168 if (!Get (HaveCanRenderPostBackCards)) {
169 canRenderPostBackCards = ReadBoolean ("canrenderpostbackcards");
170 Set (HaveCanRenderPostBackCards);
173 return canRenderPostBackCards;
177 bool canRenderSetvarZeroWithMultiSelectionList;
178 public virtual bool CanRenderSetvarZeroWithMultiSelectionList {
180 if (!Get (HaveCanRenderSetvarZeroWithMultiSelectionList)) {
181 canRenderSetvarZeroWithMultiSelectionList = ReadBoolean ("canrendersetvarzerowithmultiselectionlist");
182 Set (HaveCanRenderSetvarZeroWithMultiSelectionList);
185 return canRenderSetvarZeroWithMultiSelectionList;
190 public virtual bool CanSendMail {
192 if (!Get (HaveCanSendMail)) {
193 canSendMail = ReadBoolean ("cansendmail");
194 Set (HaveCanSendMail);
201 public IDictionary Capabilities {
202 get { return capabilities; }
203 set { capabilities = value; }
206 int defaultSubmitButtonLimit;
207 public virtual int DefaultSubmitButtonLimit {
209 if (!Get (HaveDefaultSubmitButtonLimit)) {
210 defaultSubmitButtonLimit = ReadInt32 ("defaultsubmitbuttonlimit");
211 Set (HaveDefaultSubmitButtonLimit);
214 return defaultSubmitButtonLimit;
218 int gatewayMajorVersion;
219 public virtual int GatewayMajorVersion {
221 if (!Get (HaveGatewayMajorVersion)) {
222 gatewayMajorVersion = ReadInt32 ("gatewaymajorversion");
223 Set (HaveGatewayMajorVersion);
226 return gatewayMajorVersion;
230 Double gatewayMinorVersion;
231 public virtual Double GatewayMinorVersion {
233 if (!Get (HaveGatewayMinorVersion)) {
234 gatewayMinorVersion = ReadDouble ("gatewayminorversion");
235 Set (HaveGatewayMinorVersion);
238 return gatewayMinorVersion;
242 string gatewayVersion;
243 public virtual string GatewayVersion {
245 if (!Get (HaveGatewayVersion)) {
246 gatewayVersion = ReadString ("gatewayversion");
247 Set (HaveGatewayVersion);
250 return gatewayVersion;
255 public virtual bool HasBackButton {
257 if (!Get (HaveHasBackButton)) {
258 hasBackButton = ReadBoolean ("hasbackbutton");
259 Set (HaveHasBackButton);
262 return hasBackButton;
266 bool hidesRightAlignedMultiselectScrollbars;
267 public virtual bool HidesRightAlignedMultiselectScrollbars {
269 if (!Get (HaveHidesRightAlignedMultiselectScrollbars)) {
270 hidesRightAlignedMultiselectScrollbars = ReadBoolean ("hidesrightalignedmultiselectscrollbars");
271 Set (HaveHidesRightAlignedMultiselectScrollbars);
274 return hidesRightAlignedMultiselectScrollbars;
278 string htmlTextWriter;
279 public string HtmlTextWriter {
281 if (!Get (HaveHtmlTextWriter)) {
282 htmlTextWriter = ReadString ("htmlTextWriter");
283 Set (HaveHtmlTextWriter);
286 return htmlTextWriter;
289 Set (HaveHtmlTextWriter);
290 htmlTextWriter = value;
295 get { return this.Browser; }
299 public virtual string InputType {
301 if (!Get (HaveInputType)) {
302 inputType = ReadString ("inputtype");
311 public virtual bool IsColor {
313 if (!Get (HaveIsColor)) {
314 isColor = ReadBoolean ("iscolor");
323 public virtual bool IsMobileDevice {
325 if (!Get (HaveIsMobileDevice)) {
326 isMobileDevice = ReadBoolean ("ismobiledevice");
327 Set (HaveIsMobileDevice);
330 return isMobileDevice;
334 Version jscriptVersion;
335 public Version JScriptVersion {
337 if (!Get (HaveJScriptVersion)) {
338 jscriptVersion = ReadVersion ("jscriptversion");
339 Set (HaveJScriptVersion);
342 return jscriptVersion;
346 int maximumHrefLength;
347 public virtual int MaximumHrefLength {
349 if (!Get (HaveMaximumHrefLength)) {
350 maximumHrefLength = ReadInt32 ("maximumhreflength");
351 Set (HaveMaximumHrefLength);
354 return maximumHrefLength;
358 int maximumRenderedPageSize;
359 public virtual int MaximumRenderedPageSize {
361 if (!Get (HaveMaximumRenderedPageSize)) {
362 maximumRenderedPageSize = ReadInt32 ("maximumrenderedpagesize");
363 Set (HaveMaximumRenderedPageSize);
366 return maximumRenderedPageSize;
370 int maximumSoftkeyLabelLength;
371 public virtual int MaximumSoftkeyLabelLength {
373 if (!Get (HaveMaximumSoftkeyLabelLength)) {
374 maximumSoftkeyLabelLength = ReadInt32 ("maximumsoftkeylabellength");
375 Set (HaveMaximumSoftkeyLabelLength);
378 return maximumSoftkeyLabelLength;
382 string minorVersionString;
383 public string MinorVersionString {
385 if (!Get (HaveMinorVersionString)) {
386 minorVersionString = ReadString ("minorversionstring");
387 Set (HaveMinorVersionString);
390 return minorVersionString;
394 string mobileDeviceManufacturer;
395 public virtual string MobileDeviceManufacturer {
397 if (!Get (HaveMobileDeviceManufacturer)) {
398 mobileDeviceManufacturer = ReadString ("mobiledevicemanufacturer");
399 Set (HaveMobileDeviceManufacturer);
402 return mobileDeviceManufacturer;
406 string mobileDeviceModel;
407 public virtual string MobileDeviceModel {
409 if (!Get (HaveMobileDeviceModel)) {
410 mobileDeviceModel = ReadString ("mobiledevicemodel");
411 Set (HaveMobileDeviceModel);
414 return mobileDeviceModel;
418 int numberOfSoftkeys;
419 public virtual int NumberOfSoftkeys {
421 if (!Get (HaveNumberOfSoftkeys)) {
422 numberOfSoftkeys = ReadInt32 ("numberofsoftkeys");
423 Set (HaveNumberOfSoftkeys);
426 return numberOfSoftkeys;
430 string preferredImageMime;
431 public virtual string PreferredImageMime {
433 if (!Get (HavePreferredImageMime)) {
434 preferredImageMime = ReadString ("preferredimagemime");
435 Set (HavePreferredImageMime);
438 return preferredImageMime;
442 string preferredRenderingMime;
443 public virtual string PreferredRenderingMime {
445 if (!Get (HavePreferredRenderingMime)) {
446 preferredRenderingMime = ReadString ("preferredrenderingmime");
447 Set (HavePreferredRenderingMime);
450 return preferredRenderingMime;
454 string preferredRenderingType;
455 public virtual string PreferredRenderingType {
457 if (!Get (HavePreferredRenderingType)) {
458 preferredRenderingType = ReadString ("preferredrenderingtype");
459 Set (HavePreferredRenderingType);
462 return preferredRenderingType;
466 string preferredRequestEncoding;
467 public virtual string PreferredRequestEncoding {
469 if (!Get (HavePreferredRequestEncoding)) {
470 preferredRequestEncoding = ReadString ("preferredrequestencoding");
471 Set (HavePreferredRequestEncoding);
474 return preferredRequestEncoding;
478 string preferredResponseEncoding;
479 public virtual string PreferredResponseEncoding {
481 if (!Get (HavePreferredResponseEncoding)) {
482 preferredResponseEncoding = ReadString ("preferredresponseencoding");
483 Set (HavePreferredResponseEncoding);
486 return preferredResponseEncoding;
490 bool rendersBreakBeforeWmlSelectAndInput;
491 public virtual bool RendersBreakBeforeWmlSelectAndInput {
493 if (!Get (HaveRendersBreakBeforeWmlSelectAndInput)) {
494 rendersBreakBeforeWmlSelectAndInput = ReadBoolean ("rendersbreakbeforewmlselectandinput");
495 Set (HaveRendersBreakBeforeWmlSelectAndInput);
498 return rendersBreakBeforeWmlSelectAndInput;
502 bool rendersBreaksAfterHtmlLists;
503 public virtual bool RendersBreaksAfterHtmlLists {
505 if (!Get (HaveRendersBreaksAfterHtmlLists)) {
506 rendersBreaksAfterHtmlLists = ReadBoolean ("rendersbreaksafterhtmllists");
507 Set (HaveRendersBreaksAfterHtmlLists);
510 return rendersBreaksAfterHtmlLists;
514 bool rendersBreaksAfterWmlAnchor;
515 public virtual bool RendersBreaksAfterWmlAnchor {
517 if (!Get (HaveRendersBreaksAfterWmlAnchor)) {
518 rendersBreaksAfterWmlAnchor = ReadBoolean ("rendersbreaksafterwmlanchor");
519 Set (HaveRendersBreaksAfterWmlAnchor);
522 return rendersBreaksAfterWmlAnchor;
526 bool rendersBreaksAfterWmlInput;
527 public virtual bool RendersBreaksAfterWmlInput {
529 if (!Get (HaveRendersBreaksAfterWmlInput)) {
530 rendersBreaksAfterWmlInput = ReadBoolean ("rendersbreaksafterwmlinput");
531 Set (HaveRendersBreaksAfterWmlInput);
534 return rendersBreaksAfterWmlInput;
538 bool rendersWmlDoAcceptsInline;
539 public virtual bool RendersWmlDoAcceptsInline {
541 if (!Get (HaveRendersWmlDoAcceptsInline)) {
542 rendersWmlDoAcceptsInline = ReadBoolean ("renderswmldoacceptsinline");
543 Set (HaveRendersWmlDoAcceptsInline);
546 return rendersWmlDoAcceptsInline;
550 bool rendersWmlSelectsAsMenuCards;
551 public virtual bool RendersWmlSelectsAsMenuCards {
553 if (!Get (HaveRendersWmlSelectsAsMenuCards)) {
554 rendersWmlSelectsAsMenuCards = ReadBoolean ("renderswmlselectsasmenucards");
555 Set (HaveRendersWmlSelectsAsMenuCards);
558 return rendersWmlSelectsAsMenuCards;
562 string requiredMetaTagNameValue;
563 public virtual string RequiredMetaTagNameValue {
565 if (!Get (HaveRequiredMetaTagNameValue)) {
566 requiredMetaTagNameValue = ReadString ("requiredmetatagnamevalue");
567 Set (HaveRequiredMetaTagNameValue);
570 return requiredMetaTagNameValue;
574 bool requiresAttributeColonSubstitution;
575 public virtual bool RequiresAttributeColonSubstitution {
577 if (!Get (HaveRequiresAttributeColonSubstitution)) {
578 requiresAttributeColonSubstitution = ReadBoolean ("requiresattributecolonsubstitution");
579 Set (HaveRequiresAttributeColonSubstitution);
582 return requiresAttributeColonSubstitution;
586 bool requiresContentTypeMetaTag;
587 public virtual bool RequiresContentTypeMetaTag {
589 if (!Get (HaveRequiresContentTypeMetaTag)) {
590 requiresContentTypeMetaTag = ReadBoolean ("requiresContentTypeMetaTag");
591 Set (HaveRequiresContentTypeMetaTag);
594 return requiresContentTypeMetaTag;
598 bool requiresControlStateInSession;
599 public bool RequiresControlStateInSession {
601 if (!Get (HaveRequiresControlStateInSession)) {
602 requiresControlStateInSession = ReadBoolean ("requiresControlStateInSession");
603 Set (HaveRequiresControlStateInSession);
606 return requiresControlStateInSession;
610 bool requiresDBCSCharacter;
611 public virtual bool RequiresDBCSCharacter {
613 if (!Get (HaveRequiresDBCSCharacter)) {
614 requiresDBCSCharacter = ReadBoolean ("requiresdbcscharacter");
615 Set (HaveRequiresDBCSCharacter);
618 return requiresDBCSCharacter;
622 bool requiresHtmlAdaptiveErrorReporting;
623 public virtual bool RequiresHtmlAdaptiveErrorReporting {
625 if (!Get (HaveRequiresHtmlAdaptiveErrorReporting)) {
626 requiresHtmlAdaptiveErrorReporting = ReadBoolean ("requireshtmladaptiveerrorreporting");
627 Set (HaveRequiresHtmlAdaptiveErrorReporting);
630 return requiresHtmlAdaptiveErrorReporting;
634 bool requiresLeadingPageBreak;
635 public virtual bool RequiresLeadingPageBreak {
637 if (!Get (HaveRequiresLeadingPageBreak)) {
638 requiresLeadingPageBreak = ReadBoolean ("requiresleadingpagebreak");
639 Set (HaveRequiresLeadingPageBreak);
642 return requiresLeadingPageBreak;
646 bool requiresNoBreakInFormatting;
647 public virtual bool RequiresNoBreakInFormatting {
649 if (!Get (HaveRequiresNoBreakInFormatting)) {
650 requiresNoBreakInFormatting = ReadBoolean ("requiresnobreakinformatting");
651 Set (HaveRequiresNoBreakInFormatting);
654 return requiresNoBreakInFormatting;
658 bool requiresOutputOptimization;
659 public virtual bool RequiresOutputOptimization {
661 if (!Get (HaveRequiresOutputOptimization)) {
662 requiresOutputOptimization = ReadBoolean ("requiresoutputoptimization");
663 Set (HaveRequiresOutputOptimization);
666 return requiresOutputOptimization;
670 bool requiresPhoneNumbersAsPlainText;
671 public virtual bool RequiresPhoneNumbersAsPlainText {
673 if (!Get (HaveRequiresPhoneNumbersAsPlainText)) {
674 requiresPhoneNumbersAsPlainText = ReadBoolean ("requiresphonenumbersasplaintext");
675 Set (HaveRequiresPhoneNumbersAsPlainText);
678 return requiresPhoneNumbersAsPlainText;
682 bool requiresSpecialViewStateEncoding;
683 public virtual bool RequiresSpecialViewStateEncoding {
685 if (!Get (HaveRequiresSpecialViewStateEncoding)) {
686 requiresSpecialViewStateEncoding = ReadBoolean ("requiresspecialviewstateencoding");
687 Set (HaveRequiresSpecialViewStateEncoding);
690 return requiresSpecialViewStateEncoding;
694 bool requiresUniqueFilePathSuffix;
695 public virtual bool RequiresUniqueFilePathSuffix {
697 if (!Get (HaveRequiresUniqueFilePathSuffix)) {
698 requiresUniqueFilePathSuffix = ReadBoolean ("requiresuniquefilepathsuffix");
699 Set (HaveRequiresUniqueFilePathSuffix);
702 return requiresUniqueFilePathSuffix;
706 bool requiresUniqueHtmlCheckboxNames;
707 public virtual bool RequiresUniqueHtmlCheckboxNames {
709 if (!Get (HaveRequiresUniqueHtmlCheckboxNames)) {
710 requiresUniqueHtmlCheckboxNames = ReadBoolean ("requiresuniquehtmlcheckboxnames");
711 Set (HaveRequiresUniqueHtmlCheckboxNames);
714 return requiresUniqueHtmlCheckboxNames;
718 bool requiresUniqueHtmlInputNames;
719 public virtual bool RequiresUniqueHtmlInputNames {
721 if (!Get (HaveRequiresUniqueHtmlInputNames)) {
722 requiresUniqueHtmlInputNames = ReadBoolean ("requiresuniquehtmlinputnames");
723 Set (HaveRequiresUniqueHtmlInputNames);
726 return requiresUniqueHtmlInputNames;
730 bool requiresUrlEncodedPostfieldValues;
731 public virtual bool RequiresUrlEncodedPostfieldValues {
733 if (!Get (HaveRequiresUrlEncodedPostfieldValues)) {
734 requiresUrlEncodedPostfieldValues = ReadBoolean ("requiresurlencodedpostfieldvalues");
735 Set (HaveRequiresUrlEncodedPostfieldValues);
738 return requiresUrlEncodedPostfieldValues;
743 public virtual int ScreenBitDepth {
745 if (!Get (HaveScreenBitDepth)) {
746 screenBitDepth = ReadInt32 ("screenbitdepth");
747 Set (HaveScreenBitDepth);
750 return screenBitDepth;
754 int screenCharactersHeight;
755 public virtual int ScreenCharactersHeight {
757 if (!Get (HaveScreenCharactersHeight)) {
758 screenCharactersHeight = ReadInt32 ("screencharactersheight");
759 Set (HaveScreenCharactersHeight);
762 return screenCharactersHeight;
766 int screenCharactersWidth;
767 public virtual int ScreenCharactersWidth {
769 if (!Get (HaveScreenCharactersWidth)) {
770 screenCharactersWidth = ReadInt32 ("screencharacterswidth");
771 Set (HaveScreenCharactersWidth);
774 return screenCharactersWidth;
778 int screenPixelsHeight;
779 public virtual int ScreenPixelsHeight {
781 if (!Get (HaveScreenPixelsHeight)) {
782 screenPixelsHeight = ReadInt32 ("screenpixelsheight");
783 Set (HaveScreenPixelsHeight);
786 return screenPixelsHeight;
790 int screenPixelsWidth;
791 public virtual int ScreenPixelsWidth {
793 if (!Get (HaveScreenPixelsWidth)) {
794 screenPixelsWidth = ReadInt32 ("screenpixelswidth");
795 Set (HaveScreenPixelsWidth);
798 return screenPixelsWidth;
802 bool supportsAccesskeyAttribute;
803 public virtual bool SupportsAccesskeyAttribute {
805 if (!Get (HaveSupportsAccesskeyAttribute)) {
806 supportsAccesskeyAttribute = ReadBoolean ("supportsaccesskeyattribute");
807 Set (HaveSupportsAccesskeyAttribute);
810 return supportsAccesskeyAttribute;
814 bool supportsBodyColor;
815 public virtual bool SupportsBodyColor {
817 if (!Get (HaveSupportsBodyColor)) {
818 supportsBodyColor = ReadBoolean ("supportsbodycolor");
819 Set (HaveSupportsBodyColor);
822 return supportsBodyColor;
827 public virtual bool SupportsBold {
829 if (!Get (HaveSupportsBold)) {
830 supportsBold = ReadBoolean ("supportsbold");
831 Set (HaveSupportsBold);
838 bool supportsCacheControlMetaTag;
839 public virtual bool SupportsCacheControlMetaTag {
841 if (!Get (HaveSupportsCacheControlMetaTag)) {
842 supportsCacheControlMetaTag = ReadBoolean ("supportscachecontrolmetatag");
843 Set (HaveSupportsCacheControlMetaTag);
846 return supportsCacheControlMetaTag;
850 bool supportsCallback;
851 public virtual bool SupportsCallback {
853 if (!Get (HaveSupportsCallback)) {
854 supportsCallback = ReadBoolean ("supportscallback");
855 Set (HaveSupportsCallback);
858 return supportsCallback;
863 public virtual bool SupportsCss {
865 if (!Get (HaveSupportsCss)) {
866 supportsCss = ReadBoolean ("supportscss");
867 Set (HaveSupportsCss);
874 bool supportsDivAlign;
875 public virtual bool SupportsDivAlign {
877 if (!Get (HaveSupportsDivAlign)) {
878 supportsDivAlign = ReadBoolean ("supportsdivalign");
879 Set (HaveSupportsDivAlign);
882 return supportsDivAlign;
886 bool supportsDivNoWrap;
887 public virtual bool SupportsDivNoWrap {
889 if (!Get (HaveSupportsDivNoWrap)) {
890 supportsDivNoWrap = ReadBoolean ("supportsdivnowrap");
891 Set (HaveRequiresDBCSCharacter);
894 return supportsDivNoWrap;
898 bool supportsEmptyStringInCookieValue;
899 public virtual bool SupportsEmptyStringInCookieValue {
901 if (!Get (HaveSupportsEmptyStringInCookieValue)) {
902 supportsEmptyStringInCookieValue = ReadBoolean ("supportsemptystringincookievalue");
903 Set (HaveSupportsEmptyStringInCookieValue);
906 return supportsEmptyStringInCookieValue;
910 bool supportsFontColor;
911 public virtual bool SupportsFontColor {
913 if (!Get (HaveSupportsFontColor)) {
914 supportsFontColor = ReadBoolean ("supportsfontcolor");
915 Set (HaveSupportsFontColor);
918 return supportsFontColor;
922 bool supportsFontName;
923 public virtual bool SupportsFontName {
925 if (!Get (HaveSupportsFontName)) {
926 supportsFontName = ReadBoolean ("supportsfontname");
927 Set (HaveSupportsFontName);
930 return supportsFontName;
934 bool supportsFontSize;
935 public virtual bool SupportsFontSize {
937 if (!Get (HaveSupportsFontSize)) {
938 supportsFontSize = ReadBoolean ("supportsfontsize");
939 Set (HaveSupportsFontSize);
942 return supportsFontSize;
946 bool supportsImageSubmit;
947 public virtual bool SupportsImageSubmit {
949 if (!Get (HaveSupportsImageSubmit)) {
950 supportsImageSubmit = ReadBoolean ("supportsimagesubmit");
951 Set (HaveSupportsImageSubmit);
954 return supportsImageSubmit;
958 bool supportsIModeSymbols;
959 public virtual bool SupportsIModeSymbols {
961 if (!Get (HaveSupportsIModeSymbols)) {
962 supportsIModeSymbols = ReadBoolean ("supportsimodesymbols");
963 Set (HaveSupportsIModeSymbols);
966 return supportsIModeSymbols;
970 bool supportsInputIStyle;
971 public virtual bool SupportsInputIStyle {
973 if (!Get (HaveSupportsInputIStyle)) {
974 supportsInputIStyle = ReadBoolean ("supportsinputistyle");
975 Set (HaveSupportsInputIStyle);
978 return supportsInputIStyle;
982 bool supportsInputMode;
983 public virtual bool SupportsInputMode {
985 if (!Get (HaveSupportsInputMode)) {
986 supportsInputMode = ReadBoolean ("supportsinputmode");
987 Set (HaveSupportsInputMode);
990 return supportsInputMode;
995 public virtual bool SupportsItalic {
997 if (!Get (HaveSupportsItalic)) {
998 supportsItalic = ReadBoolean ("supportsitalic");
999 Set (HaveSupportsItalic);
1002 return supportsItalic;
1006 bool supportsJPhoneMultiMediaAttributes;
1007 public virtual bool SupportsJPhoneMultiMediaAttributes {
1009 if (!Get (HaveSupportsJPhoneMultiMediaAttributes)) {
1010 supportsJPhoneMultiMediaAttributes = ReadBoolean ("supportsjphonemultimediaattributes");
1011 Set (HaveSupportsJPhoneMultiMediaAttributes);
1014 return supportsJPhoneMultiMediaAttributes;
1018 bool supportsJPhoneSymbols;
1019 public virtual bool SupportsJPhoneSymbols {
1021 if (!Get (HaveSupportsJPhoneSymbols)) {
1022 supportsJPhoneSymbols = ReadBoolean ("supportsjphonesymbols");
1023 Set (HaveSupportsJPhoneSymbols);
1026 return supportsJPhoneSymbols;
1030 bool supportsQueryStringInFormAction;
1031 public virtual bool SupportsQueryStringInFormAction {
1033 if (!Get (HaveSupportsQueryStringInFormAction)) {
1034 supportsQueryStringInFormAction = ReadBoolean ("supportsquerystringinformaction");
1035 Set (HaveSupportsQueryStringInFormAction);
1038 return supportsQueryStringInFormAction;
1042 bool supportsRedirectWithCookie;
1043 public virtual bool SupportsRedirectWithCookie {
1045 if (!Get (HaveSupportsRedirectWithCookie)) {
1046 supportsRedirectWithCookie = ReadBoolean ("supportsredirectwithcookie");
1047 Set (HaveSupportsRedirectWithCookie);
1050 return supportsRedirectWithCookie;
1054 bool supportsSelectMultiple;
1055 public virtual bool SupportsSelectMultiple {
1057 if (!Get (HaveSupportsSelectMultiple)) {
1058 supportsSelectMultiple = ReadBoolean ("supportsselectmultiple");
1059 Set (HaveSupportsSelectMultiple);
1062 return supportsSelectMultiple;
1066 bool supportsUncheck;
1067 public virtual bool SupportsUncheck {
1069 if (!Get (HaveSupportsUncheck)) {
1070 supportsUncheck = ReadBoolean ("supportsuncheck");
1071 Set (HaveSupportsUncheck);
1074 return supportsUncheck;
1078 bool supportsXmlHttp;
1079 public virtual bool SupportsXmlHttp {
1081 if (!Get (HaveSupportsXmlHttp)) {
1082 supportsXmlHttp = ReadBoolean ("supportsxmlhttp");
1083 Set (HaveSupportsXmlHttp);
1086 return supportsXmlHttp;
1090 bool useOptimizedCacheKey;
1091 public bool UseOptimizedCacheKey {
1093 if (!Get (HaveUseOptimizedCacheKey)) {
1094 useOptimizedCacheKey = ReadBoolean ("useoptimizedcachekey");
1095 Set (HaveUseOptimizedCacheKey);
1098 return useOptimizedCacheKey;