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