From 992eb5802326a1282d277d73e7e4d073b35fc522 Mon Sep 17 00:00:00 2001 From: Ronald Barendse Date: Mon, 16 Aug 2021 11:08:09 +0200 Subject: [PATCH] Move ImageSharpImageUrlGenerator back to Infrastructure and remove NoopImageUrlGenerator --- .../UmbracoBuilder.CoreServices.cs | 5 ++--- .../Media/ImageSharpImageUrlGenerator.cs | 18 ++++++++---------- .../Media/NoopImageUrlGenerator.cs | 16 ---------------- .../Media/ImageSharpImageUrlGeneratorTests.cs | 5 ++--- .../UmbracoBuilder.ImageSharp.cs | 12 +++--------- 5 files changed, 15 insertions(+), 41 deletions(-) rename src/{Umbraco.Web.Common => Umbraco.Infrastructure}/Media/ImageSharpImageUrlGenerator.cs (78%) delete mode 100644 src/Umbraco.Infrastructure/Media/NoopImageUrlGenerator.cs rename src/Umbraco.Tests.UnitTests/{Umbraco.Web.Common => Umbraco.Infrastructure}/Media/ImageSharpImageUrlGeneratorTests.cs (98%) diff --git a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs index 393fb60df4..8388841e17 100644 --- a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs +++ b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs @@ -144,8 +144,6 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection builder.PropertyValueConverters() .Remove(); - builder.Services.AddUnique(); - // register *all* checks, except those marked [HideFromTypeFinder] of course builder.Services.AddUnique(); @@ -180,9 +178,10 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection builder.Services.AddUnique(); - // Add default ImageSharp configuration + // Add default ImageSharp configuration and service implementations builder.Services.AddUnique(SixLabors.ImageSharp.Configuration.Default); builder.Services.AddUnique(); + builder.Services.AddUnique(); builder.Services.AddUnique(); diff --git a/src/Umbraco.Web.Common/Media/ImageSharpImageUrlGenerator.cs b/src/Umbraco.Infrastructure/Media/ImageSharpImageUrlGenerator.cs similarity index 78% rename from src/Umbraco.Web.Common/Media/ImageSharpImageUrlGenerator.cs rename to src/Umbraco.Infrastructure/Media/ImageSharpImageUrlGenerator.cs index 276a3ab492..ecde6790d2 100644 --- a/src/Umbraco.Web.Common/Media/ImageSharpImageUrlGenerator.cs +++ b/src/Umbraco.Infrastructure/Media/ImageSharpImageUrlGenerator.cs @@ -4,12 +4,10 @@ using System.Globalization; using System.Linq; using System.Text; using SixLabors.ImageSharp; -using SixLabors.ImageSharp.Web.Processors; using Umbraco.Cms.Core.Media; using Umbraco.Cms.Core.Models; -using Umbraco.Cms.Web.Common.ImageProcessors; -namespace Umbraco.Cms.Web.Common.Media +namespace Umbraco.Cms.Infrastructure.Media { /// /// Exposes a method that generates an image URL based on the specified options that can be processed by ImageSharp. @@ -60,37 +58,37 @@ namespace Umbraco.Cms.Web.Common.Media if (options.FocalPoint != null) { - AddQueryString(ResizeWebProcessor.Xy, options.FocalPoint.Left, options.FocalPoint.Top); + AddQueryString("rxy", options.FocalPoint.Left, options.FocalPoint.Top); } if (options.Crop != null) { - AddQueryString(CropWebProcessor.Coordinates, options.Crop.Left, options.Crop.Top, options.Crop.Right, options.Crop.Bottom); + AddQueryString("cc", options.Crop.Left, options.Crop.Top, options.Crop.Right, options.Crop.Bottom); } if (options.ImageCropMode.HasValue) { - AddQueryString(ResizeWebProcessor.Mode, options.ImageCropMode.Value.ToString().ToLowerInvariant()); + AddQueryString("rmode", options.ImageCropMode.Value.ToString().ToLowerInvariant()); } if (options.ImageCropAnchor.HasValue) { - AddQueryString(ResizeWebProcessor.Anchor, options.ImageCropAnchor.Value.ToString().ToLowerInvariant()); + AddQueryString("ranchor", options.ImageCropAnchor.Value.ToString().ToLowerInvariant()); } if (options.Width.HasValue) { - AddQueryString(ResizeWebProcessor.Width, options.Width.Value); + AddQueryString("width", options.Width.Value); } if (options.Height.HasValue) { - AddQueryString(ResizeWebProcessor.Height, options.Height.Value); + AddQueryString("height", options.Height.Value); } if (options.Quality.HasValue) { - AddQueryString(JpegQualityWebProcessor.Quality, options.Quality.Value); + AddQueryString("quality", options.Quality.Value); } if (string.IsNullOrWhiteSpace(options.FurtherOptions) == false) diff --git a/src/Umbraco.Infrastructure/Media/NoopImageUrlGenerator.cs b/src/Umbraco.Infrastructure/Media/NoopImageUrlGenerator.cs deleted file mode 100644 index 158f7d6c04..0000000000 --- a/src/Umbraco.Infrastructure/Media/NoopImageUrlGenerator.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using Umbraco.Cms.Core.Media; -using Umbraco.Cms.Core.Models; - -namespace Umbraco.Cms.Infrastructure.Media -{ - public class NoopImageUrlGenerator : IImageUrlGenerator - { - /// - public IEnumerable SupportedImageFileTypes => Enumerable.Empty(); - - /// - public string GetImageUrl(ImageUrlGenerationOptions options) => options?.ImageUrl; - } -} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Media/ImageSharpImageUrlGeneratorTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Media/ImageSharpImageUrlGeneratorTests.cs similarity index 98% rename from src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Media/ImageSharpImageUrlGeneratorTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Media/ImageSharpImageUrlGeneratorTests.cs index d113f144a3..a531aa6bbd 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Media/ImageSharpImageUrlGeneratorTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Media/ImageSharpImageUrlGeneratorTests.cs @@ -3,9 +3,9 @@ using NUnit.Framework; using Umbraco.Cms.Core.Models; -using Umbraco.Cms.Web.Common.Media; +using Umbraco.Cms.Infrastructure.Media; -namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Common.Media +namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Infrastructure.Media { [TestFixture] public class ImageSharpImageUrlGeneratorTests @@ -74,7 +74,6 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.Common.Media Assert.AreEqual("?cc=0.58729977382575338,0.055768992440203169,0,0.32457553600198386&width=100&height=100", urlString); } - /// /// Test that if Crop mode is specified as anything other than Crop the image doesn't use the crop /// diff --git a/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilder.ImageSharp.cs b/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilder.ImageSharp.cs index 5661fd1487..5fb8fe2260 100644 --- a/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilder.ImageSharp.cs +++ b/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilder.ImageSharp.cs @@ -10,10 +10,8 @@ using SixLabors.ImageSharp.Web.Middleware; using SixLabors.ImageSharp.Web.Processors; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.DependencyInjection; -using Umbraco.Cms.Core.Media; using Umbraco.Cms.Web.Common.DependencyInjection; using Umbraco.Cms.Web.Common.ImageProcessors; -using Umbraco.Cms.Web.Common.Media; namespace Umbraco.Extensions { @@ -24,13 +22,10 @@ namespace Umbraco.Extensions /// public static IServiceCollection AddUmbracoImageSharp(this IUmbracoBuilder builder) { - IConfiguration configuration = builder.Config; - IServiceCollection services = builder.Services; - - ImagingSettings imagingSettings = configuration.GetSection(Cms.Core.Constants.Configuration.ConfigImaging) + ImagingSettings imagingSettings = builder.Config.GetSection(Cms.Core.Constants.Configuration.ConfigImaging) .Get() ?? new ImagingSettings(); - services.AddImageSharp(options => + builder.Services.AddImageSharp(options => { // The configuration is set using ImageSharpConfigurationOptions options.BrowserMaxAge = imagingSettings.Cache.BrowserMaxAge; @@ -63,9 +58,8 @@ namespace Umbraco.Extensions .AddProcessor(); builder.Services.AddTransient, ImageSharpConfigurationOptions>(); - builder.Services.AddUnique(); - return services; + return builder.Services; } } }