ChangeAcl = 8192,
AllFlags = 13111,
}
+ public sealed partial class MediaPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
+ {
+ public MediaPermission() { }
+ public MediaPermission(System.Security.Permissions.MediaPermissionAudio permissionAudio) { }
+ public MediaPermission(System.Security.Permissions.MediaPermissionAudio permissionAudio, System.Security.Permissions.MediaPermissionVideo permissionVideo, System.Security.Permissions.MediaPermissionImage permissionImage) { }
+ public MediaPermission(System.Security.Permissions.MediaPermissionImage permissionImage) { }
+ public MediaPermission(System.Security.Permissions.MediaPermissionVideo permissionVideo) { }
+ public MediaPermission(System.Security.Permissions.PermissionState state) { }
+ public System.Security.Permissions.MediaPermissionAudio Audio { get { throw null; } }
+ public System.Security.Permissions.MediaPermissionImage Image { get { throw null; } }
+ public System.Security.Permissions.MediaPermissionVideo Video { get { throw null; } }
+ public override System.Security.IPermission Copy() { throw null; }
+ public override void FromXml(System.Security.SecurityElement securityElement) { }
+ public override System.Security.IPermission Intersect(System.Security.IPermission target) { throw null; }
+ public override bool IsSubsetOf(System.Security.IPermission target) { throw null; }
+ public bool IsUnrestricted() { throw null; }
+ public override System.Security.SecurityElement ToXml() { throw null; }
+ public override System.Security.IPermission Union(System.Security.IPermission target) { throw null; }
+ }
+ [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple = true, Inherited = false)]
+ public sealed partial class MediaPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
+ {
+ public MediaPermissionAttribute(System.Security.Permissions.SecurityAction action) : base(default(System.Security.Permissions.SecurityAction)) { }
+ public System.Security.Permissions.MediaPermissionAudio Audio { get { throw null; } set { } }
+ public System.Security.Permissions.MediaPermissionImage Image { get { throw null; } set { } }
+ public System.Security.Permissions.MediaPermissionVideo Video { get { throw null; } set { } }
+ public override System.Security.IPermission CreatePermission() { throw null; }
+ }
+ public enum MediaPermissionAudio
+ {
+ NoAudio = 0,
+ SiteOfOriginAudio = 1,
+ SafeAudio = 2,
+ AllAudio = 3,
+ }
+ public enum MediaPermissionImage
+ {
+ NoImage = 0,
+ SiteOfOriginImage = 1,
+ SafeImage = 2,
+ AllImage = 3,
+ }
+ public enum MediaPermissionVideo
+ {
+ NoVideo = 0,
+ SiteOfOriginVideo = 1,
+ SafeVideo = 2,
+ AllVideo = 3,
+ }
[System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
public sealed partial class PermissionSetAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
{
public string Url { get { throw null; } set { } }
public override System.Security.IPermission CreatePermission() { throw null; }
}
+ public sealed partial class WebBrowserPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
+ {
+ public WebBrowserPermission() { }
+ public WebBrowserPermission(System.Security.Permissions.PermissionState state) { }
+ public WebBrowserPermission(System.Security.Permissions.WebBrowserPermissionLevel webBrowserPermissionLevel) { }
+ public System.Security.Permissions.WebBrowserPermissionLevel Level { get { throw null; } set { } }
+ public override System.Security.IPermission Copy() { throw null; }
+ public override void FromXml(System.Security.SecurityElement securityElement) { }
+ public override System.Security.IPermission Intersect(System.Security.IPermission target) { throw null; }
+ public override bool IsSubsetOf(System.Security.IPermission target) { throw null; }
+ public bool IsUnrestricted() { throw null; }
+ public override System.Security.SecurityElement ToXml() { throw null; }
+ public override System.Security.IPermission Union(System.Security.IPermission target) { throw null; }
+ }
+ [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple = true, Inherited = false)]
+ public sealed partial class WebBrowserPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
+ {
+ public WebBrowserPermissionAttribute(System.Security.Permissions.SecurityAction action) : base(default(System.Security.Permissions.SecurityAction)) { }
+ public System.Security.Permissions.WebBrowserPermissionLevel Level { get { throw null; } set { } }
+ public override System.Security.IPermission CreatePermission() { throw null; }
+ }
+ public enum WebBrowserPermissionLevel
+ {
+ None = 0,
+ Safe = 1,
+ Unrestricted = 2,
+ }
public sealed partial class ZoneIdentityPermission : System.Security.CodeAccessPermission
{
public ZoneIdentityPermission(System.Security.Permissions.PermissionState state) { }
Unrestricted = 600,
}
}
+namespace System.Xaml.Permissions
+{
+ public partial class XamlAccessLevel
+ {
+ internal XamlAccessLevel() { }
+ public System.Reflection.AssemblyName AssemblyAccessToAssemblyName { get { throw null; } }
+ public string PrivateAccessToTypeName { get { throw null; } }
+ public static System.Xaml.Permissions.XamlAccessLevel AssemblyAccessTo(System.Reflection.Assembly assembly) { throw null; }
+ public static System.Xaml.Permissions.XamlAccessLevel AssemblyAccessTo(System.Reflection.AssemblyName assemblyName) { throw null; }
+ public static System.Xaml.Permissions.XamlAccessLevel PrivateAccessTo(string assemblyQualifiedTypeName) { throw null; }
+ public static System.Xaml.Permissions.XamlAccessLevel PrivateAccessTo(System.Type type) { throw null; }
+ }
+ public sealed partial class XamlLoadPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
+ {
+ public XamlLoadPermission(System.Collections.Generic.IEnumerable<System.Xaml.Permissions.XamlAccessLevel> allowedAccess) { }
+ public XamlLoadPermission(System.Security.Permissions.PermissionState state) { }
+ public XamlLoadPermission(System.Xaml.Permissions.XamlAccessLevel allowedAccess) { }
+ public System.Collections.Generic.IList<System.Xaml.Permissions.XamlAccessLevel> AllowedAccess { get { throw null; } }
+ public override System.Security.IPermission Copy() { throw null; }
+ public override bool Equals(object obj) { throw null; }
+ public override void FromXml(System.Security.SecurityElement elem) { }
+ public override int GetHashCode() { throw null; }
+ public bool Includes(System.Xaml.Permissions.XamlAccessLevel requestedAccess) { throw null; }
+ public override System.Security.IPermission Intersect(System.Security.IPermission target) { throw null; }
+ public override bool IsSubsetOf(System.Security.IPermission target) { throw null; }
+ public bool IsUnrestricted() { throw null; }
+ public override System.Security.SecurityElement ToXml() { throw null; }
+ public override System.Security.IPermission Union(System.Security.IPermission other) { throw null; }
+ }
+}
<Reference Include="System.Security" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Transactions" />
+ <Reference Include="System.Xaml" />
+ <Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup Condition="'$(TargetsNetFx)' != 'true'">
<ProjectReference Include="..\..\System.Security.AccessControl\ref\System.Security.AccessControl.csproj" />
<ProjectReference Include="..\..\System.Text.RegularExpressions\ref\System.Text.RegularExpressions.csproj" />
<ProjectReference Include="..\..\System.Threading\ref\System.Threading.csproj" />
</ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
<Compile Include="System\Security\Permissions\KeyContainerPermissionAccessEntryEnumerator.cs" />
<Compile Include="System\Security\Permissions\KeyContainerPermissionAttribute.cs" />
<Compile Include="System\Security\Permissions\KeyContainerPermissionFlags.cs" />
+ <Compile Include="System\Security\Permissions\MediaPermission.cs" />
<Compile Include="System\Security\Permissions\PermissionSetAttribute.cs" />
<Compile Include="System\Security\Permissions\PrincipalPermission.cs" />
<Compile Include="System\Security\Permissions\PrincipalPermissionAttribute.cs" />
<Compile Include="System\Security\Permissions\UIPermissionWindow.cs" />
<Compile Include="System\Security\Permissions\UrlIdentityPermission.cs" />
<Compile Include="System\Security\Permissions\UrlIdentityPermissionAttribute.cs" />
+ <Compile Include="System\Security\Permissions\WebBrowserPermission.cs" />
<Compile Include="System\Security\Permissions\ZoneIdentityPermission.cs" />
<Compile Include="System\Security\Permissions\ZoneIdentityPermissionAttribute.cs" />
<Compile Include="System\Security\Policy\AllMembershipCondition.cs" />
<Compile Include="System\Web\AspNetHostingPermission.cs" />
<Compile Include="System\Web\AspNetHostingPermissionAttribute.cs" />
<Compile Include="System\Web\AspNetHostingPermissionLevel.cs" />
+ <Compile Include="System\Xaml\Permissions\XamlAccessLevel.cs" />
+ <Compile Include="System\Xaml\Permissions\XamlLoadPermission.cs" />
</ItemGroup>
<ItemGroup Condition="'$(TargetGroup)' == 'netstandard'">
<Compile Include="$(CommonPath)\CoreLib\System\Security\IStackWalk.cs">
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Transactions" />
<Reference Include="System.Web" />
+ <Reference Include="System.Xaml" />
+ <Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Reference Include="System.Security.AccessControl" />
<Reference Include="System.Threading" />
<Reference Include="System.Threading.Thread" />
</ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
--- /dev/null
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+namespace System.Security.Permissions
+{
+ public enum MediaPermissionAudio
+ {
+ NoAudio,
+ SiteOfOriginAudio,
+ SafeAudio,
+ AllAudio
+ }
+ public enum MediaPermissionVideo
+ {
+ NoVideo,
+ SiteOfOriginVideo,
+ SafeVideo,
+ AllVideo,
+ }
+ public enum MediaPermissionImage
+ {
+ NoImage,
+ SiteOfOriginImage,
+ SafeImage,
+ AllImage,
+ }
+ sealed public class MediaPermission : CodeAccessPermission, IUnrestrictedPermission
+ {
+ public MediaPermission() { }
+ public MediaPermission(PermissionState state) { }
+ public MediaPermission(MediaPermissionAudio permissionAudio) { }
+ public MediaPermission(MediaPermissionVideo permissionVideo) { }
+ public MediaPermission(MediaPermissionImage permissionImage) { }
+ public MediaPermission(MediaPermissionAudio permissionAudio,
+ MediaPermissionVideo permissionVideo,
+ MediaPermissionImage permissionImage)
+ { }
+ public bool IsUnrestricted() { return true; }
+ public override bool IsSubsetOf(IPermission target) { return true; }
+ public override IPermission Intersect(IPermission target) { return new MediaPermission(); }
+ public override IPermission Union(IPermission target) { return new MediaPermission(); }
+ public override IPermission Copy() { return new MediaPermission(); }
+ public override SecurityElement ToXml() { return default(SecurityElement); }
+ public override void FromXml(SecurityElement securityElement) { }
+ public MediaPermissionAudio Audio { get { return MediaPermissionAudio.AllAudio; } }
+ public MediaPermissionVideo Video { get { return MediaPermissionVideo.AllVideo; } }
+ public MediaPermissionImage Image { get { return MediaPermissionImage.AllImage; } }
+ }
+ [AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Assembly, AllowMultiple = true, Inherited = false)]
+ sealed public class MediaPermissionAttribute : CodeAccessSecurityAttribute
+ {
+ public MediaPermissionAttribute(SecurityAction action) : base(action) { }
+ public override IPermission CreatePermission() { return new MediaPermission(); }
+ public MediaPermissionAudio Audio { get { return MediaPermissionAudio.AllAudio; } set { } }
+ public MediaPermissionVideo Video { get { return MediaPermissionVideo.AllVideo; } set { } }
+ public MediaPermissionImage Image { get { return MediaPermissionImage.AllImage; } set { } }
+ }
+}
--- /dev/null
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+namespace System.Security.Permissions
+{
+ public enum WebBrowserPermissionLevel
+ {
+ None,
+ Safe,
+ Unrestricted
+ }
+ sealed public class WebBrowserPermission : CodeAccessPermission, IUnrestrictedPermission
+ {
+ public WebBrowserPermission() { }
+ public WebBrowserPermission(PermissionState state) { }
+ public WebBrowserPermission(WebBrowserPermissionLevel webBrowserPermissionLevel) { }
+ public bool IsUnrestricted() { return true; }
+ public override bool IsSubsetOf(IPermission target) { return true; }
+ public override IPermission Intersect(IPermission target) { return new WebBrowserPermission(); }
+ public override IPermission Union(IPermission target) { return new WebBrowserPermission(); }
+ public override IPermission Copy() { return new WebBrowserPermission(); }
+ public override SecurityElement ToXml() { return default(SecurityElement); }
+ public override void FromXml(SecurityElement securityElement) { }
+ public WebBrowserPermissionLevel Level { get { return WebBrowserPermissionLevel.Unrestricted; } set { } }
+ }
+
+ [AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Assembly, AllowMultiple = true, Inherited = false)]
+ sealed public class WebBrowserPermissionAttribute : CodeAccessSecurityAttribute
+ {
+ public WebBrowserPermissionAttribute(SecurityAction action) : base(action) { }
+ public override IPermission CreatePermission() { return new WebBrowserPermission(); }
+ public WebBrowserPermissionLevel Level { get { return WebBrowserPermissionLevel.Unrestricted; } set { } }
+ }
+}
--- /dev/null
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Reflection;
+using System.Security;
+
+namespace System.Xaml.Permissions
+{
+ public class XamlAccessLevel
+ {
+ private XamlAccessLevel(string assemblyName, string typeName)
+ {
+ AssemblyNameString = assemblyName;
+ PrivateAccessToTypeName = typeName;
+ }
+
+ public static XamlAccessLevel AssemblyAccessTo(Assembly assembly)
+ {
+ return new XamlAccessLevel(assembly.FullName, null);
+ }
+
+ public static XamlAccessLevel AssemblyAccessTo(AssemblyName assemblyName)
+ {
+ return new XamlAccessLevel(assemblyName.FullName, null);
+ }
+
+ public static XamlAccessLevel PrivateAccessTo(Type type)
+ {
+ return new XamlAccessLevel(type.Assembly.FullName, type.FullName);
+ }
+
+ public static XamlAccessLevel PrivateAccessTo(string assemblyQualifiedTypeName)
+ {
+ int nameBoundary = assemblyQualifiedTypeName.IndexOf(',');
+ string typeName = assemblyQualifiedTypeName.Substring(0, nameBoundary).Trim();
+ string assemblyFullName = assemblyQualifiedTypeName.Substring(nameBoundary + 1).Trim();
+ AssemblyName assemblyName = new AssemblyName(assemblyFullName);
+ return new XamlAccessLevel(assemblyName.FullName, typeName);
+ }
+
+ public AssemblyName AssemblyAccessToAssemblyName
+ {
+ get { return new AssemblyName(AssemblyNameString); }
+ }
+
+ public string PrivateAccessToTypeName { get; private set; }
+
+ internal string AssemblyNameString { get; private set; }
+ }
+}
--- /dev/null
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.InteropServices;
+using System.Security;
+using System.Security.Permissions;
+
+namespace System.Xaml.Permissions
+{
+ public sealed class XamlLoadPermission : CodeAccessPermission, IUnrestrictedPermission
+ {
+ public XamlLoadPermission(PermissionState state) { }
+ public XamlLoadPermission(XamlAccessLevel allowedAccess) { }
+ public XamlLoadPermission(IEnumerable<XamlAccessLevel> allowedAccess) { }
+ [ComVisible(false)]
+ public override bool Equals(object obj) { return ReferenceEquals(this, obj); }
+ [ComVisible(false)]
+ public override int GetHashCode() { return base.GetHashCode(); }
+ public IList<XamlAccessLevel> AllowedAccess { get; private set; } = new ReadOnlyCollection<XamlAccessLevel>(Array.Empty<XamlAccessLevel>());
+ public override IPermission Copy() { return new XamlLoadPermission(PermissionState.Unrestricted); }
+ public override void FromXml(SecurityElement elem) { }
+ public bool Includes(XamlAccessLevel requestedAccess) { return true; }
+ public override IPermission Intersect(IPermission target) { return new XamlLoadPermission(PermissionState.Unrestricted); }
+ public override bool IsSubsetOf(IPermission target) { return true; }
+ public override SecurityElement ToXml() { return default(SecurityElement); }
+ public override IPermission Union(IPermission other) { return new XamlLoadPermission(PermissionState.Unrestricted); }
+ public bool IsUnrestricted() { return true; }
+ }
+}
using System.DirectoryServices;
using System.Reflection;
using System.Web;
+using System.Xaml.Permissions;
namespace System.Security.Permissions.Tests
{
}
[Fact]
+ public static void MediaPermissionCallMethods()
+ {
+ MediaPermission mp = new MediaPermission();
+ MediaPermission mp2 = new MediaPermission(MediaPermissionAudio.AllAudio);
+ MediaPermission mp3 = new MediaPermission(MediaPermissionVideo.AllVideo);
+ MediaPermission mp4 = new MediaPermission(MediaPermissionImage.AllImage);
+ MediaPermission mp5 = new MediaPermission(MediaPermissionAudio.AllAudio,
+ MediaPermissionVideo.AllVideo,
+ MediaPermissionImage.AllImage);
+ bool testbool = mp.IsUnrestricted();
+ IPermission ip = mp.Copy();
+ IPermission ip2 = mp.Intersect(ip);
+ IPermission ip3 = mp.Union(ip);
+ testbool = mp.IsSubsetOf(ip);
+ SecurityElement se = new SecurityElement("");
+ mp.FromXml(se);
+ se = mp.ToXml();
+ }
+
+ [Fact]
+ public static void MediaPermissionAttributeCallMethods()
+ {
+ MediaPermissionAttribute mpa = new MediaPermissionAttribute(new Permissions.SecurityAction());
+ IPermission ip = mpa.CreatePermission();
+ }
+
+ [Fact]
public static void PrincipalPermissionCallMethods()
{
PrincipalPermission pp = new PrincipalPermission(new Permissions.PermissionState());
}
[Fact]
+ public static void WebBrowserPermissionCallMethods()
+ {
+ WebBrowserPermission wp = new WebBrowserPermission();
+ WebBrowserPermission wp2 = new WebBrowserPermission(PermissionState.Unrestricted);
+ WebBrowserPermission wp3 = new WebBrowserPermission(WebBrowserPermissionLevel.Unrestricted);
+ bool testbool = wp.IsUnrestricted();
+ IPermission ip = wp.Copy();
+ IPermission ip2 = wp.Intersect(ip);
+ IPermission ip3= wp.Union(ip);
+ testbool = wp.IsSubsetOf(ip);
+ SecurityElement se = new SecurityElement("");
+ wp.FromXml(se);
+ se = wp.ToXml();
+ }
+
+ [Fact]
+ public static void WebBrowserPermissionAttributeCallMethods()
+ {
+ WebBrowserPermissionAttribute wpa = new WebBrowserPermissionAttribute(new Permissions.SecurityAction());
+ IPermission ip = wpa.CreatePermission();
+ }
+
+ [Fact]
+ public static void XamlLoadPermissionCallMethods()
+ {
+ XamlAccessLevel accessLevel = XamlAccessLevel.AssemblyAccessTo(Assembly.GetExecutingAssembly().GetName());
+ XamlLoadPermission xp = new XamlLoadPermission(accessLevel);
+ XamlLoadPermission xp2 = new XamlLoadPermission(PermissionState.Unrestricted);
+ XamlLoadPermission xp3 = new XamlLoadPermission(Array.Empty<XamlAccessLevel>());
+ bool testbool = xp.IsUnrestricted();
+ IPermission ip = xp.Copy();
+ IPermission ip2 = xp.Intersect(ip);
+ IPermission ip3 = xp.Union(ip);
+ testbool = xp.IsSubsetOf(ip);
+ testbool = xp.Equals(new object());
+ testbool = xp.Includes(accessLevel);
+ int hash = xp.GetHashCode();
+ SecurityElement se = new SecurityElement("");
+ xp.FromXml(se);
+ se = xp.ToXml();
+ }
+
+ [Fact]
public static void ZoneIdentityPermissionCallMethods()
{
ZoneIdentityPermission zip = new ZoneIdentityPermission(new PermissionState());
<Compile Include="PrincipalPermissionTests.cs" />
<Compile Include="SecurityElementTests.cs" />
<Compile Include="TrustManagerContextTests.cs" />
+ <Compile Include="XamlAccessLevelTests.cs" />
</ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
--- /dev/null
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Reflection;
+using System.Xaml.Permissions;
+using Xunit;
+
+namespace System.Security.Permissions.Tests
+{
+ public class XamlAccessLevelTests
+ {
+ [Fact]
+ public static void XamlAccessLevelTestsCallMethods()
+ {
+ Assembly execAssembly = Assembly.GetExecutingAssembly();
+ Type type = typeof(int);
+ XamlAccessLevel accessLevel = XamlAccessLevel.AssemblyAccessTo(execAssembly);
+ XamlAccessLevel accessLevel2 = XamlAccessLevel.AssemblyAccessTo(execAssembly.GetName());
+ XamlAccessLevel accessLevel3 = XamlAccessLevel.PrivateAccessTo(type);
+ XamlAccessLevel accessLevel4 = XamlAccessLevel.PrivateAccessTo(type.AssemblyQualifiedName);
+ AssemblyName an = accessLevel.AssemblyAccessToAssemblyName;
+ }
+ }
+}