You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@ -0,0 +1,271 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="ScriptManagerProxy.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace System.Web.UI {
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Design;
|
||||
using System.Globalization;
|
||||
using System.Web;
|
||||
using System.Web.Resources;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.Util;
|
||||
|
||||
[
|
||||
DefaultProperty("Scripts"),
|
||||
Designer("System.Web.UI.Design.ScriptManagerProxyDesigner, " + AssemblyRef.SystemWebExtensionsDesign),
|
||||
NonVisualControl(),
|
||||
ParseChildren(true),
|
||||
PersistChildren(false),
|
||||
ToolboxBitmap(typeof(EmbeddedResourceFinder), "System.Web.Resources.ScriptManagerProxy.bmp")
|
||||
]
|
||||
public class ScriptManagerProxy : Control, IControl {
|
||||
|
||||
private IScriptManagerInternal _scriptManager;
|
||||
private CompositeScriptReference _compositeScript;
|
||||
private ScriptReferenceCollection _scripts;
|
||||
private ServiceReferenceCollection _services;
|
||||
|
||||
private ProfileServiceManager _profileServiceManager;
|
||||
private AuthenticationServiceManager _authenticationServiceManager;
|
||||
private RoleServiceManager _roleServiceManager;
|
||||
|
||||
private static readonly object _navigateEvent = new object();
|
||||
|
||||
public ScriptManagerProxy() {
|
||||
}
|
||||
|
||||
internal ScriptManagerProxy(IScriptManagerInternal scriptManager) {
|
||||
_scriptManager = scriptManager;
|
||||
}
|
||||
|
||||
[
|
||||
ResourceDescription("ScriptManager_AuthenticationService"),
|
||||
Category("Behavior"),
|
||||
DefaultValue(null),
|
||||
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
|
||||
PersistenceMode(PersistenceMode.InnerProperty),
|
||||
MergableProperty(false),
|
||||
]
|
||||
public AuthenticationServiceManager AuthenticationService {
|
||||
get {
|
||||
if(_authenticationServiceManager == null) {
|
||||
_authenticationServiceManager = new AuthenticationServiceManager();
|
||||
}
|
||||
return _authenticationServiceManager;
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
ResourceDescription("ScriptManager_CompositeScript"),
|
||||
Category("Behavior"),
|
||||
DefaultValue(null),
|
||||
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
|
||||
PersistenceMode(PersistenceMode.InnerProperty),
|
||||
MergableProperty(false),
|
||||
]
|
||||
public CompositeScriptReference CompositeScript {
|
||||
get {
|
||||
if (_compositeScript == null) {
|
||||
_compositeScript = new CompositeScriptReference();
|
||||
}
|
||||
return _compositeScript;
|
||||
}
|
||||
}
|
||||
|
||||
internal bool HasProfileServiceManager {
|
||||
get {
|
||||
return this._profileServiceManager != null;
|
||||
}
|
||||
}
|
||||
internal bool HasAuthenticationServiceManager {
|
||||
get {
|
||||
return this._authenticationServiceManager != null;
|
||||
}
|
||||
}
|
||||
|
||||
internal bool HasRoleServiceManager {
|
||||
get {
|
||||
return this._roleServiceManager != null;
|
||||
}
|
||||
}
|
||||
|
||||
internal EventHandler<HistoryEventArgs> NavigateEvent {
|
||||
get {
|
||||
return (EventHandler<HistoryEventArgs>)Events[_navigateEvent];
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
ResourceDescription("ScriptManager_ProfileService"),
|
||||
Category("Behavior"),
|
||||
DefaultValue(null),
|
||||
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
|
||||
PersistenceMode(PersistenceMode.InnerProperty),
|
||||
MergableProperty(false),
|
||||
]
|
||||
public ProfileServiceManager ProfileService {
|
||||
get {
|
||||
if(_profileServiceManager == null) {
|
||||
_profileServiceManager = new ProfileServiceManager();
|
||||
}
|
||||
return _profileServiceManager;
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
ResourceDescription("ScriptManager_RoleService"),
|
||||
Category("Behavior"),
|
||||
DefaultValue(null),
|
||||
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
|
||||
PersistenceMode(PersistenceMode.InnerProperty),
|
||||
MergableProperty(false),
|
||||
]
|
||||
public RoleServiceManager RoleService {
|
||||
get {
|
||||
if(_roleServiceManager == null) {
|
||||
_roleServiceManager = new RoleServiceManager();
|
||||
}
|
||||
return _roleServiceManager;
|
||||
}
|
||||
}
|
||||
|
||||
private IScriptManagerInternal ScriptManager {
|
||||
get {
|
||||
if (_scriptManager == null) {
|
||||
Page page = Page;
|
||||
if (page == null) {
|
||||
throw new InvalidOperationException(AtlasWeb.Common_PageCannotBeNull);
|
||||
}
|
||||
_scriptManager = UI.ScriptManager.GetCurrent(Page);
|
||||
if (_scriptManager == null) {
|
||||
throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.Common_ScriptManagerRequired, ID));
|
||||
}
|
||||
}
|
||||
return _scriptManager;
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
ResourceDescription("ScriptManager_Scripts"),
|
||||
Category("Behavior"),
|
||||
DefaultValue(null),
|
||||
Editor("System.Web.UI.Design.CollectionEditorBase, " +
|
||||
AssemblyRef.SystemWebExtensionsDesign, typeof(UITypeEditor)),
|
||||
PersistenceMode(PersistenceMode.InnerProperty),
|
||||
MergableProperty(false),
|
||||
]
|
||||
public ScriptReferenceCollection Scripts {
|
||||
get {
|
||||
if (_scripts == null) {
|
||||
_scripts = new ScriptReferenceCollection();
|
||||
}
|
||||
return _scripts;
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
ResourceDescription("ScriptManager_Services"),
|
||||
Category("Behavior"),
|
||||
DefaultValue(null),
|
||||
Editor("System.Web.UI.Design.ServiceReferenceCollectionEditor, " +
|
||||
AssemblyRef.SystemWebExtensionsDesign, typeof(UITypeEditor)),
|
||||
PersistenceMode(PersistenceMode.InnerProperty),
|
||||
MergableProperty(false),
|
||||
]
|
||||
public ServiceReferenceCollection Services {
|
||||
get {
|
||||
if (_services == null) {
|
||||
_services = new ServiceReferenceCollection();
|
||||
}
|
||||
return _services;
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
Browsable(false),
|
||||
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
|
||||
EditorBrowsable(EditorBrowsableState.Never)
|
||||
]
|
||||
public override bool Visible {
|
||||
get {
|
||||
return base.Visible;
|
||||
}
|
||||
set {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
Category("Action"),
|
||||
ResourceDescription("ScriptManager_Navigate"),
|
||||
]
|
||||
public event EventHandler<HistoryEventArgs> Navigate {
|
||||
add {
|
||||
Events.AddHandler(_navigateEvent, value);
|
||||
}
|
||||
remove {
|
||||
Events.RemoveHandler(_navigateEvent, value);
|
||||
}
|
||||
}
|
||||
|
||||
internal void CollectScripts(List<ScriptReferenceBase> scripts) {
|
||||
if ((_compositeScript != null) && (_compositeScript.Scripts.Count != 0)) {
|
||||
_compositeScript.ClientUrlResolver = this;
|
||||
_compositeScript.ContainingControl = this;
|
||||
_compositeScript.IsStaticReference = true;
|
||||
scripts.Add(_compositeScript);
|
||||
}
|
||||
// PERF: Use field directly to avoid creating List if not already created
|
||||
if (_scripts != null) {
|
||||
foreach (ScriptReference scriptReference in _scripts) {
|
||||
scriptReference.ClientUrlResolver = this;
|
||||
scriptReference.ContainingControl = this;
|
||||
scriptReference.IsStaticReference = true;
|
||||
scripts.Add(scriptReference);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers")]
|
||||
protected internal override void OnInit(EventArgs e) {
|
||||
base.OnInit(e);
|
||||
|
||||
if (!DesignMode) {
|
||||
ScriptManager.RegisterProxy(this);
|
||||
}
|
||||
}
|
||||
|
||||
internal void RegisterServices(ScriptManager scriptManager) {
|
||||
// PERF: Use field directly to avoid creating List if not already created
|
||||
if (_services != null) {
|
||||
foreach (ServiceReference serviceReference in _services) {
|
||||
serviceReference.Register(this, scriptManager);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region IControl Members
|
||||
HttpContextBase IControl.Context {
|
||||
get {
|
||||
return new System.Web.HttpContextWrapper(Context);
|
||||
}
|
||||
}
|
||||
|
||||
bool IControl.DesignMode {
|
||||
get {
|
||||
return DesignMode;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user