Move ImageSharpImageUrlGenerator back to Infrastructure and remove NoopImageUrlGenerator

This commit is contained in:
Ronald Barendse
2021-08-16 11:08:09 +02:00
parent 42c6aa8d56
commit 992eb58023
5 changed files with 15 additions and 41 deletions

View File

@@ -144,8 +144,6 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
builder.PropertyValueConverters()
.Remove<SimpleTinyMceValueConverter>();
builder.Services.AddUnique<IImageUrlGenerator, NoopImageUrlGenerator>();
// register *all* checks, except those marked [HideFromTypeFinder] of course
builder.Services.AddUnique<IMarkdownToHtmlConverter, MarkdownToHtmlConverter>();
@@ -180,9 +178,10 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
builder.Services.AddUnique<ICronTabParser, NCronTabParser>();
// Add default ImageSharp configuration
// Add default ImageSharp configuration and service implementations
builder.Services.AddUnique(SixLabors.ImageSharp.Configuration.Default);
builder.Services.AddUnique<IImageDimensionExtractor, ImageDimensionExtractor>();
builder.Services.AddUnique<IImageUrlGenerator, ImageSharpImageUrlGenerator>();
builder.Services.AddUnique<PackageDataInstallation>();

View File

@@ -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
{
/// <summary>
/// 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)

View File

@@ -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
{
/// <inheritdoc />
public IEnumerable<string> SupportedImageFileTypes => Enumerable.Empty<string>();
/// <inheritdoc />
public string GetImageUrl(ImageUrlGenerationOptions options) => options?.ImageUrl;
}
}

View File

@@ -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);
}
/// <summary>
/// Test that if Crop mode is specified as anything other than Crop the image doesn't use the crop
/// </summary>

View File

@@ -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
/// </summary>
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<ImagingSettings>() ?? 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<ResizeWebProcessor>();
builder.Services.AddTransient<IConfigureOptions<ImageSharpMiddlewareOptions>, ImageSharpConfigurationOptions>();
builder.Services.AddUnique<IImageUrlGenerator, ImageSharpImageUrlGenerator>();
return services;
return builder.Services;
}
}
}