summaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
Diffstat (limited to 'routers')
-rw-r--r--routers/web/repo/compare.go27
1 files changed, 17 insertions, 10 deletions
diff --git a/routers/web/repo/compare.go b/routers/web/repo/compare.go
index 9af1d60c29..fc5f82ec06 100644
--- a/routers/web/repo/compare.go
+++ b/routers/web/repo/compare.go
@@ -32,6 +32,7 @@ import (
"code.gitea.io/gitea/modules/markup"
"code.gitea.io/gitea/modules/setting"
api "code.gitea.io/gitea/modules/structs"
+ "code.gitea.io/gitea/modules/typesniffer"
"code.gitea.io/gitea/modules/upload"
"code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/services/gitdiff"
@@ -60,6 +61,21 @@ func setCompareContext(ctx *context.Context, before, head *git.Commit, headOwner
return blob
}
+ ctx.Data["GetSniffedTypeForBlob"] = func(blob *git.Blob) typesniffer.SniffedType {
+ st := typesniffer.SniffedType{}
+
+ if blob == nil {
+ return st
+ }
+
+ st, err := blob.GuessContentType()
+ if err != nil {
+ log.Error("GuessContentType failed: %v", err)
+ return st
+ }
+ return st
+ }
+
setPathsCompareContext(ctx, before, head, headOwner, headName)
setImageCompareContext(ctx)
setCsvCompareContext(ctx)
@@ -87,16 +103,7 @@ func setPathsCompareContext(ctx *context.Context, base, head *git.Commit, headOw
// setImageCompareContext sets context data that is required by image compare template
func setImageCompareContext(ctx *context.Context) {
- ctx.Data["IsBlobAnImage"] = func(blob *git.Blob) bool {
- if blob == nil {
- return false
- }
-
- st, err := blob.GuessContentType()
- if err != nil {
- log.Error("GuessContentType failed: %v", err)
- return false
- }
+ ctx.Data["IsSniffedTypeAnImage"] = func(st typesniffer.SniffedType) bool {
return st.IsImage() && (setting.UI.SVG.Enabled || !st.IsSvgImage())
}
}