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.Runtime.CompilerServices;
36 using System.Security.Permissions;
37 using System.Security.Principal;
38 using System.Web.Caching;
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 abstract class HttpBrowserCapabilitiesBase : IFilterResolutionService
48 void NotImplemented ()
50 throw new NotImplementedException ();
53 public virtual bool ActiveXControls { get { NotImplemented (); return false; } }
55 public virtual IDictionary Adapters { get { NotImplemented (); return null; } }
57 public virtual bool AOL { get { NotImplemented (); return false; } }
59 public virtual bool BackgroundSounds { get { NotImplemented (); return false; } }
61 public virtual bool Beta { get { NotImplemented (); return false; } }
63 public virtual string Browser { get { NotImplemented (); return null; } }
65 public virtual ArrayList Browsers { get { NotImplemented (); return null; } }
67 public virtual bool CanCombineFormsInDeck { get { NotImplemented (); return false; } }
69 public virtual bool CanInitiateVoiceCall { get { NotImplemented (); return false; } }
71 public virtual bool CanRenderAfterInputOrSelectElement { get { NotImplemented (); return false; } }
73 public virtual bool CanRenderEmptySelects { get { NotImplemented (); return false; } }
75 public virtual bool CanRenderInputAndSelectElementsTogether { get { NotImplemented (); return false; } }
77 public virtual bool CanRenderMixedSelects { get { NotImplemented (); return false; } }
79 public virtual bool CanRenderOneventAndPrevElementsTogether { get { NotImplemented (); return false; } }
81 public virtual bool CanRenderPostBackCards { get { NotImplemented (); return false; } }
83 public virtual bool CanRenderSetvarZeroWithMultiSelectionList { get { NotImplemented (); return false; } }
85 public virtual bool CanSendMail { get { NotImplemented (); return false; } }
87 public virtual IDictionary Capabilities { get; set; }
89 public virtual bool CDF { get { NotImplemented (); return false; } }
91 public virtual Version ClrVersion { get { NotImplemented (); return null; } }
93 public virtual bool Cookies { get { NotImplemented (); return false; } }
95 public virtual bool Crawler { get { NotImplemented (); return false; } }
97 public virtual int DefaultSubmitButtonLimit { get { NotImplemented (); return 0; } }
99 public virtual Version EcmaScriptVersion { get { NotImplemented (); return null; } }
101 public virtual bool Frames { get { NotImplemented (); return false; } }
103 public virtual int GatewayMajorVersion { get { NotImplemented (); return 0; } }
105 public virtual double GatewayMinorVersion { get { NotImplemented (); return 0; } }
107 public virtual string GatewayVersion { get { NotImplemented (); return null; } }
109 public virtual bool HasBackButton { get { NotImplemented (); return false; } }
111 public virtual bool HidesRightAlignedMultiselectScrollbars { get { NotImplemented (); return false; } }
113 public virtual string HtmlTextWriter { get; set; }
115 public virtual string Id { get { NotImplemented (); return null; } }
117 public virtual string InputType { get { NotImplemented (); return null; } }
119 public virtual bool IsColor { get { NotImplemented (); return false; } }
121 public virtual bool IsMobileDevice { get { NotImplemented (); return false; } }
123 public virtual string this [string key] {
124 get { throw new NotImplementedException (); }
127 public virtual bool JavaApplets { get { NotImplemented (); return false; } }
129 public virtual Version JScriptVersion { get { NotImplemented (); return null; } }
131 public virtual int MajorVersion { get { NotImplemented (); return 0; } }
133 public virtual int MaximumHrefLength { get { NotImplemented (); return 0; } }
135 public virtual int MaximumRenderedPageSize { get { NotImplemented (); return 0; } }
137 public virtual int MaximumSoftkeyLabelLength { get { NotImplemented (); return 0; } }
139 public virtual double MinorVersion { get { NotImplemented (); return 0; } }
141 public virtual string MinorVersionString { get { NotImplemented (); return null; } }
143 public virtual string MobileDeviceManufacturer { get { NotImplemented (); return null; } }
145 public virtual string MobileDeviceModel { get { NotImplemented (); return null; } }
147 public virtual Version MSDomVersion { get { NotImplemented (); return null; } }
149 public virtual int NumberOfSoftkeys { get { NotImplemented (); return 0; } }
151 public virtual string Platform { get { NotImplemented (); return null; } }
153 public virtual string PreferredImageMime { get { NotImplemented (); return null; } }
155 public virtual string PreferredRenderingMime { get { NotImplemented (); return null; } }
157 public virtual string PreferredRenderingType { get { NotImplemented (); return null; } }
159 public virtual string PreferredRequestEncoding { get { NotImplemented (); return null; } }
161 public virtual string PreferredResponseEncoding { get { NotImplemented (); return null; } }
163 public virtual bool RendersBreakBeforeWmlSelectAndInput { get { NotImplemented (); return false; } }
165 public virtual bool RendersBreaksAfterHtmlLists { get { NotImplemented (); return false; } }
167 public virtual bool RendersBreaksAfterWmlAnchor { get { NotImplemented (); return false; } }
169 public virtual bool RendersBreaksAfterWmlInput { get { NotImplemented (); return false; } }
171 public virtual bool RendersWmlDoAcceptsInline { get { NotImplemented (); return false; } }
173 public virtual bool RendersWmlSelectsAsMenuCards { get { NotImplemented (); return false; } }
175 public virtual string RequiredMetaTagNameValue { get { NotImplemented (); return null; } }
177 public virtual bool RequiresAttributeColonSubstitution { get { NotImplemented (); return false; } }
179 public virtual bool RequiresContentTypeMetaTag { get { NotImplemented (); return false; } }
181 public virtual bool RequiresControlStateInSession { get { NotImplemented (); return false; } }
183 public virtual bool RequiresDBCSCharacter { get { NotImplemented (); return false; } }
185 public virtual bool RequiresHtmlAdaptiveErrorReporting { get { NotImplemented (); return false; } }
187 public virtual bool RequiresLeadingPageBreak { get { NotImplemented (); return false; } }
189 public virtual bool RequiresNoBreakInFormatting { get { NotImplemented (); return false; } }
191 public virtual bool RequiresOutputOptimization { get { NotImplemented (); return false; } }
193 public virtual bool RequiresPhoneNumbersAsPlainText { get { NotImplemented (); return false; } }
195 public virtual bool RequiresSpecialViewStateEncoding { get { NotImplemented (); return false; } }
197 public virtual bool RequiresUniqueFilePathSuffix { get { NotImplemented (); return false; } }
199 public virtual bool RequiresUniqueHtmlCheckboxNames { get { NotImplemented (); return false; } }
201 public virtual bool RequiresUniqueHtmlInputNames { get { NotImplemented (); return false; } }
203 public virtual bool RequiresUrlEncodedPostfieldValues { get { NotImplemented (); return false; } }
205 public virtual int ScreenBitDepth { get { NotImplemented (); return 0; } }
207 public virtual int ScreenCharactersHeight { get { NotImplemented (); return 0; } }
209 public virtual int ScreenCharactersWidth { get { NotImplemented (); return 0; } }
211 public virtual int ScreenPixelsHeight { get { NotImplemented (); return 0; } }
213 public virtual int ScreenPixelsWidth { get { NotImplemented (); return 0; } }
215 public virtual bool SupportsAccesskeyAttribute { get { NotImplemented (); return false; } }
217 public virtual bool SupportsBodyColor { get { NotImplemented (); return false; } }
219 public virtual bool SupportsBold { get { NotImplemented (); return false; } }
221 public virtual bool SupportsCacheControlMetaTag { get { NotImplemented (); return false; } }
223 public virtual bool SupportsCallback { get { NotImplemented (); return false; } }
225 public virtual bool SupportsCss { get { NotImplemented (); return false; } }
227 public virtual bool SupportsDivAlign { get { NotImplemented (); return false; } }
229 public virtual bool SupportsDivNoWrap { get { NotImplemented (); return false; } }
231 public virtual bool SupportsEmptyStringInCookieValue { get { NotImplemented (); return false; } }
233 public virtual bool SupportsFontColor { get { NotImplemented (); return false; } }
235 public virtual bool SupportsFontName { get { NotImplemented (); return false; } }
237 public virtual bool SupportsFontSize { get { NotImplemented (); return false; } }
239 public virtual bool SupportsImageSubmit { get { NotImplemented (); return false; } }
241 public virtual bool SupportsIModeSymbols { get { NotImplemented (); return false; } }
243 public virtual bool SupportsInputIStyle { get { NotImplemented (); return false; } }
245 public virtual bool SupportsInputMode { get { NotImplemented (); return false; } }
247 public virtual bool SupportsItalic { get { NotImplemented (); return false; } }
249 public virtual bool SupportsJPhoneMultiMediaAttributes { get { NotImplemented (); return false; } }
251 public virtual bool SupportsJPhoneSymbols { get { NotImplemented (); return false; } }
253 public virtual bool SupportsQueryStringInFormAction { get { NotImplemented (); return false; } }
255 public virtual bool SupportsRedirectWithCookie { get { NotImplemented (); return false; } }
257 public virtual bool SupportsSelectMultiple { get { NotImplemented (); return false; } }
259 public virtual bool SupportsUncheck { get { NotImplemented (); return false; } }
261 public virtual bool SupportsXmlHttp { get { NotImplemented (); return false; } }
263 public virtual bool Tables { get { NotImplemented (); return false; } }
265 public virtual Type TagWriter { get { NotImplemented (); return null; } }
267 public virtual string Type { get { NotImplemented (); return null; } }
269 public virtual bool UseOptimizedCacheKey { get { NotImplemented (); return false; } }
271 public virtual bool VBScript { get { NotImplemented (); return false; } }
273 public virtual string Version { get { NotImplemented (); return null; } }
275 public virtual Version W3CDomVersion { get { NotImplemented (); return null; } }
277 public virtual bool Win16 { get { NotImplemented (); return false; } }
279 public virtual bool Win32 { get { NotImplemented (); return false; } }
281 public virtual void AddBrowser (string browserName)
286 public virtual int CompareFilters (string filter1, string filter2)
292 public virtual HtmlTextWriter CreateHtmlTextWriter (TextWriter w)
298 public virtual void DisableOptimizedCacheKey ()
303 public virtual bool EvaluateFilter (string filterName)
309 public virtual Version [] GetClrVersions ()
315 public virtual bool IsBrowser (string browserName)