2 // HttpBrowserCapabilitiesBase.cs
5 // Atsushi Enomoto <atsushi@ximian.com>
7 // Copyright (C) 2008 Novell Inc. http://novell.com
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:
19 // The above copyright notice and this permission notice shall be
20 // included in all copies or substantial portions of the Software.
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.
31 using System.Collections;
32 using System.Collections.Generic;
33 using System.Globalization;
35 using System.Security.Permissions;
36 using System.Security.Principal;
37 using System.Web.Caching;
42 [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
43 [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
44 public abstract class HttpBrowserCapabilitiesBase : IFilterResolutionService
46 void NotImplemented ()
48 throw new NotImplementedException ();
51 public virtual bool ActiveXControls { get { NotImplemented (); return false; } }
53 public virtual IDictionary Adapters { get { NotImplemented (); return null; } }
55 public virtual bool AOL { get { NotImplemented (); return false; } }
57 public virtual bool BackgroundSounds { get { NotImplemented (); return false; } }
59 public virtual bool Beta { get { NotImplemented (); return false; } }
61 public virtual string Browser { get { NotImplemented (); return null; } }
63 public virtual ArrayList Browsers { get { NotImplemented (); return null; } }
65 public virtual bool CanCombineFormsInDeck { get { NotImplemented (); return false; } }
67 public virtual bool CanInitiateVoiceCall { get { NotImplemented (); return false; } }
69 public virtual bool CanRenderAfterInputOrSelectElement { get { NotImplemented (); return false; } }
71 public virtual bool CanRenderEmptySelects { get { NotImplemented (); return false; } }
73 public virtual bool CanRenderInputAndSelectElementsTogether { get { NotImplemented (); return false; } }
75 public virtual bool CanRenderMixedSelects { get { NotImplemented (); return false; } }
77 public virtual bool CanRenderOneventAndPrevElementsTogether { get { NotImplemented (); return false; } }
79 public virtual bool CanRenderPostBackCards { get { NotImplemented (); return false; } }
81 public virtual bool CanRenderSetvarZeroWithMultiSelectionList { get { NotImplemented (); return false; } }
83 public virtual bool CanSendMail { get { NotImplemented (); return false; } }
85 public virtual IDictionary Capabilities { get; set; }
87 public virtual bool CDF { get { NotImplemented (); return false; } }
89 public virtual Version ClrVersion { get { NotImplemented (); return null; } }
91 public virtual bool Cookies { get { NotImplemented (); return false; } }
93 public virtual bool Crawler { get { NotImplemented (); return false; } }
95 public virtual int DefaultSubmitButtonLimit { get { NotImplemented (); return 0; } }
97 public virtual Version EcmaScriptVersion { get { NotImplemented (); return null; } }
99 public virtual bool Frames { get { NotImplemented (); return false; } }
101 public virtual int GatewayMajorVersion { get { NotImplemented (); return 0; } }
103 public virtual double GatewayMinorVersion { get { NotImplemented (); return 0; } }
105 public virtual string GatewayVersion { get { NotImplemented (); return null; } }
107 public virtual bool HasBackButton { get { NotImplemented (); return false; } }
109 public virtual bool HidesRightAlignedMultiselectScrollbars { get { NotImplemented (); return false; } }
111 public virtual string HtmlTextWriter { get; set; }
113 public virtual string Id { get { NotImplemented (); return null; } }
115 public virtual string InputType { get { NotImplemented (); return null; } }
117 public virtual bool IsColor { get { NotImplemented (); return false; } }
119 public virtual bool IsMobileDevice { get { NotImplemented (); return false; } }
121 public virtual string this [string key] {
122 get { throw new NotImplementedException (); }
125 public virtual bool JavaApplets { get { NotImplemented (); return false; } }
127 public virtual Version JScriptVersion { get { NotImplemented (); return null; } }
129 public virtual int MajorVersion { get { NotImplemented (); return 0; } }
131 public virtual int MaximumHrefLength { get { NotImplemented (); return 0; } }
133 public virtual int MaximumRenderedPageSize { get { NotImplemented (); return 0; } }
135 public virtual int MaximumSoftkeyLabelLength { get { NotImplemented (); return 0; } }
137 public virtual double MinorVersion { get { NotImplemented (); return 0; } }
139 public virtual string MinorVersionString { get { NotImplemented (); return null; } }
141 public virtual string MobileDeviceManufacturer { get { NotImplemented (); return null; } }
143 public virtual string MobileDeviceModel { get { NotImplemented (); return null; } }
145 public virtual Version MSDomVersion { get { NotImplemented (); return null; } }
147 public virtual int NumberOfSoftkeys { get { NotImplemented (); return 0; } }
149 public virtual string Platform { get { NotImplemented (); return null; } }
151 public virtual string PreferredImageMime { get { NotImplemented (); return null; } }
153 public virtual string PreferredRenderingMime { get { NotImplemented (); return null; } }
155 public virtual string PreferredRenderingType { get { NotImplemented (); return null; } }
157 public virtual string PreferredRequestEncoding { get { NotImplemented (); return null; } }
159 public virtual string PreferredResponseEncoding { get { NotImplemented (); return null; } }
161 public virtual bool RendersBreakBeforeWmlSelectAndInput { get { NotImplemented (); return false; } }
163 public virtual bool RendersBreaksAfterHtmlLists { get { NotImplemented (); return false; } }
165 public virtual bool RendersBreaksAfterWmlAnchor { get { NotImplemented (); return false; } }
167 public virtual bool RendersBreaksAfterWmlInput { get { NotImplemented (); return false; } }
169 public virtual bool RendersWmlDoAcceptsInline { get { NotImplemented (); return false; } }
171 public virtual bool RendersWmlSelectsAsMenuCards { get { NotImplemented (); return false; } }
173 public virtual string RequiredMetaTagNameValue { get { NotImplemented (); return null; } }
175 public virtual bool RequiresAttributeColonSubstitution { get { NotImplemented (); return false; } }
177 public virtual bool RequiresContentTypeMetaTag { get { NotImplemented (); return false; } }
179 public virtual bool RequiresControlStateInSession { get { NotImplemented (); return false; } }
181 public virtual bool RequiresDBCSCharacter { get { NotImplemented (); return false; } }
183 public virtual bool RequiresHtmlAdaptiveErrorReporting { get { NotImplemented (); return false; } }
185 public virtual bool RequiresLeadingPageBreak { get { NotImplemented (); return false; } }
187 public virtual bool RequiresNoBreakInFormatting { get { NotImplemented (); return false; } }
189 public virtual bool RequiresOutputOptimization { get { NotImplemented (); return false; } }
191 public virtual bool RequiresPhoneNumbersAsPlainText { get { NotImplemented (); return false; } }
193 public virtual bool RequiresSpecialViewStateEncoding { get { NotImplemented (); return false; } }
195 public virtual bool RequiresUniqueFilePathSuffix { get { NotImplemented (); return false; } }
197 public virtual bool RequiresUniqueHtmlCheckboxNames { get { NotImplemented (); return false; } }
199 public virtual bool RequiresUniqueHtmlInputNames { get { NotImplemented (); return false; } }
201 public virtual bool RequiresUrlEncodedPostfieldValues { get { NotImplemented (); return false; } }
203 public virtual int ScreenBitDepth { get { NotImplemented (); return 0; } }
205 public virtual int ScreenCharactersHeight { get { NotImplemented (); return 0; } }
207 public virtual int ScreenCharactersWidth { get { NotImplemented (); return 0; } }
209 public virtual int ScreenPixelsHeight { get { NotImplemented (); return 0; } }
211 public virtual int ScreenPixelsWidth { get { NotImplemented (); return 0; } }
213 public virtual bool SupportsAccesskeyAttribute { get { NotImplemented (); return false; } }
215 public virtual bool SupportsBodyColor { get { NotImplemented (); return false; } }
217 public virtual bool SupportsBold { get { NotImplemented (); return false; } }
219 public virtual bool SupportsCacheControlMetaTag { get { NotImplemented (); return false; } }
221 public virtual bool SupportsCallback { get { NotImplemented (); return false; } }
223 public virtual bool SupportsCss { get { NotImplemented (); return false; } }
225 public virtual bool SupportsDivAlign { get { NotImplemented (); return false; } }
227 public virtual bool SupportsDivNoWrap { get { NotImplemented (); return false; } }
229 public virtual bool SupportsEmptyStringInCookieValue { get { NotImplemented (); return false; } }
231 public virtual bool SupportsFontColor { get { NotImplemented (); return false; } }
233 public virtual bool SupportsFontName { get { NotImplemented (); return false; } }
235 public virtual bool SupportsFontSize { get { NotImplemented (); return false; } }
237 public virtual bool SupportsImageSubmit { get { NotImplemented (); return false; } }
239 public virtual bool SupportsIModeSymbols { get { NotImplemented (); return false; } }
241 public virtual bool SupportsInputIStyle { get { NotImplemented (); return false; } }
243 public virtual bool SupportsInputMode { get { NotImplemented (); return false; } }
245 public virtual bool SupportsItalic { get { NotImplemented (); return false; } }
247 public virtual bool SupportsJPhoneMultiMediaAttributes { get { NotImplemented (); return false; } }
249 public virtual bool SupportsJPhoneSymbols { get { NotImplemented (); return false; } }
251 public virtual bool SupportsQueryStringInFormAction { get { NotImplemented (); return false; } }
253 public virtual bool SupportsRedirectWithCookie { get { NotImplemented (); return false; } }
255 public virtual bool SupportsSelectMultiple { get { NotImplemented (); return false; } }
257 public virtual bool SupportsUncheck { get { NotImplemented (); return false; } }
259 public virtual bool SupportsXmlHttp { get { NotImplemented (); return false; } }
261 public virtual bool Tables { get { NotImplemented (); return false; } }
263 public virtual Type TagWriter { get { NotImplemented (); return null; } }
265 public virtual string Type { get { NotImplemented (); return null; } }
267 public virtual bool UseOptimizedCacheKey { get { NotImplemented (); return false; } }
269 public virtual bool VBScript { get { NotImplemented (); return false; } }
271 public virtual string Version { get { NotImplemented (); return null; } }
273 public virtual Version W3CDomVersion { get { NotImplemented (); return null; } }
275 public virtual bool Win16 { get { NotImplemented (); return false; } }
277 public virtual bool Win32 { get { NotImplemented (); return false; } }
279 public virtual void AddBrowser (string browserName)
284 public virtual int CompareFilters (string filter1, string filter2)
290 public virtual HtmlTextWriter CreateHtmlTextWriter (TextWriter w)
296 public virtual void DisableOptimizedCacheKey ()
301 public virtual bool EvaluateFilter (string filterName)
307 public virtual Version [] GetClrVersions ()
313 public virtual bool IsBrowser (string browserName)