1 //------------------------------------------------------------------------------
2 // <copyright file="ClientUrlResolverWrapper.cs" company="Microsoft">
3 //     Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>
5 //------------------------------------------------------------------------------
6 
7 namespace System.Web.UI {
8     using System;
9     using System.Web.UI;
10 
11     internal sealed class ClientUrlResolverWrapper : IClientUrlResolver {
12         private readonly Control _control;
13 
ClientUrlResolverWrapper(Control control)14         public ClientUrlResolverWrapper(Control control) {
15             _control = control;
16         }
17 
18         #region IClientUrlResolver Members
19         // DevDiv Bugs 197242: AppRelativeTemplateSourceDirectory needed for
20         // CompositeReference url resolution
21         string IClientUrlResolver.AppRelativeTemplateSourceDirectory {
22             get {
23                 return _control.AppRelativeTemplateSourceDirectory;
24             }
25         }
26 
IClientUrlResolver.ResolveClientUrl(string relativeUrl)27         string IClientUrlResolver.ResolveClientUrl(string relativeUrl) {
28             IClientUrlResolver resolver = _control as IClientUrlResolver;
29             if (resolver != null) {
30                 return resolver.ResolveClientUrl(relativeUrl);
31             }
32             else {
33                 return _control.ResolveClientUrl(relativeUrl);
34             }
35         }
36         #endregion
37     }
38 }
39