Remove references to |blessStringAsTrustedResourceUrlForLegacy in <link href>. This directive will be deleted in the future, this change prepares for it. Change-Id: I294e1255fdbef58cf073879d9f6f8fb6997b4827
diff --git a/java/com/google/gitiles/Renderer.java b/java/com/google/gitiles/Renderer.java index 655b8d2..9ead8bf 100644 --- a/java/com/google/gitiles/Renderer.java +++ b/java/com/google/gitiles/Renderer.java
@@ -26,6 +26,7 @@ import com.google.common.hash.HashCode; import com.google.common.hash.Hasher; import com.google.common.hash.Hashing; +import com.google.common.html.types.LegacyConversions; import com.google.common.io.ByteStreams; import com.google.common.net.HttpHeaders; import com.google.template.soy.tofu.SoyTofu; @@ -210,7 +211,15 @@ } SoyTofu.Renderer newRenderer(String templateName) { - return getTofu().newRenderer(templateName); + ImmutableMap.Builder<String, Object> staticUrls = ImmutableMap.builder(); + for (String key : STATIC_URL_GLOBALS.keySet()) { + staticUrls.put( + key.replaceFirst("^gitiles\\.", ""), + LegacyConversions.riskilyAssumeTrustedResourceUrl(globals.get(key))); + } + return getTofu() + .newRenderer(templateName) + .setIjData(ImmutableMap.of("staticUrls", staticUrls.build())); } protected abstract SoyTofu getTofu();
diff --git a/resources/com/google/gitiles/templates/BlameDetail.soy b/resources/com/google/gitiles/templates/BlameDetail.soy index 7979de6..cdeeb3e 100644 --- a/resources/com/google/gitiles/templates/BlameDetail.soy +++ b/resources/com/google/gitiles/templates/BlameDetail.soy
@@ -29,9 +29,10 @@ of the revision. blameUrl: URL for a blame of this file at this commit. commitUrl: URL for detail about the commit. diffUrl: URL for a diff of this file at this commit. class: class name for tr. All keys but "class" are optional. */ + {@inject staticUrls: ?} {if $regions} {call .header data="all"} - {param css: [gitiles.PRETTIFY_CSS_URL] /} + {param css: [$staticUrls.PRETTIFY_CSS_URL] /} {param containerClass: 'Container--fullWidth' /} {/call}
diff --git a/resources/com/google/gitiles/templates/Common.soy b/resources/com/google/gitiles/templates/Common.soy index 67d5b0b..82c77ba 100644 --- a/resources/com/google/gitiles/templates/Common.soy +++ b/resources/com/google/gitiles/templates/Common.soy
@@ -24,8 +24,9 @@ */ {@param? customVariant: ?} /** variant name for custom styling. */ {@param breadcrumbs: ?} /** navigation breadcrumbs for this page. */ - {@param? css: ?} /** optional list of CSS URLs to include. */ + {@param? css: list<?>} /** optional list of CSS URLs to include. */ {@param? containerClass: ?} /** optional class to append to the main container. */ + {@inject staticUrls: ?} <!DOCTYPE html> <html lang="en"> <head> @@ -38,10 +39,10 @@ {sp}- {msg desc="name of the application"}{gitiles.SITE_TITLE}{/msg} </title> - <link rel="stylesheet" type="text/css" href="{gitiles.BASE_CSS_URL |blessStringAsTrustedResourceUrlForLegacy}"> + <link rel="stylesheet" type="text/css" href="{$staticUrls.BASE_CSS_URL}"> {if $css and length($css)} {for $url in $css} - <link rel="stylesheet" type="text/css" href="{$url |blessStringAsTrustedResourceUrlForLegacy}"> + <link rel="stylesheet" type="text/css" href="{$url}"> {/for} {/if} {delcall gitiles.customHeadTagPart variant="$customVariant ?: ''" /}
diff --git a/resources/com/google/gitiles/templates/Doc.soy b/resources/com/google/gitiles/templates/Doc.soy index e7eb0d9..db1bfc6 100644 --- a/resources/com/google/gitiles/templates/Doc.soy +++ b/resources/com/google/gitiles/templates/Doc.soy
@@ -44,6 +44,7 @@ {@param? analyticsId: ?} /** Google Analytics Property ID. */ {@param? navbarHtml: ?} /** navar.md converted to SafeHtml. */ {@param? customVariant: ?} /** variant name for custom styling. */ + {@inject staticUrls: ?} <!DOCTYPE html> <html lang="en"> <head> @@ -52,9 +53,9 @@ {if $siteTitle}{$siteTitle} -{sp}{/if} {$pageTitle} </title> - <link rel="stylesheet" type="text/css" href="{gitiles.BASE_CSS_URL |blessStringAsTrustedResourceUrlForLegacy}" /> - <link rel="stylesheet" type="text/css" href="{gitiles.DOC_CSS_URL |blessStringAsTrustedResourceUrlForLegacy}" /> - <link rel="stylesheet" type="text/css" href="{gitiles.PRETTIFY_CSS_URL |blessStringAsTrustedResourceUrlForLegacy}" /> + <link rel="stylesheet" type="text/css" href="{$staticUrls.BASE_CSS_URL}" /> + <link rel="stylesheet" type="text/css" href="{$staticUrls.DOC_CSS_URL}" /> + <link rel="stylesheet" type="text/css" href="{$staticUrls.PRETTIFY_CSS_URL}" /> {delcall gitiles.customHeadTagPart variant="$customVariant ?: ''" /} </head> <body class="Site">
diff --git a/resources/com/google/gitiles/templates/PathDetail.soy b/resources/com/google/gitiles/templates/PathDetail.soy index 67bad2e..7dd283b 100644 --- a/resources/com/google/gitiles/templates/PathDetail.soy +++ b/resources/com/google/gitiles/templates/PathDetail.soy
@@ -26,13 +26,14 @@ org.eclipse.jgit.lib.FileMode. */ {@param data: ?} /** path data, matching the params for one of .treeDetail, .blobDetail, .symlinkDetail, or .gitlinkDetail as appropriate. */ + {@inject staticUrls: ?} {if $type == 'REGULAR_FILE' or $type == 'EXECUTABLE_FILE'} {call .header data="all"} - {param css: [gitiles.PRETTIFY_CSS_URL] /} + {param css: [$staticUrls.PRETTIFY_CSS_URL] /} {/call} {elseif $data.readmeHtml} {call .header data="all"} - {param css: [gitiles.DOC_CSS_URL, gitiles.PRETTIFY_CSS_URL] /} + {param css: [$staticUrls.DOC_CSS_URL, $staticUrls.PRETTIFY_CSS_URL] /} {/call} {else} {call .header data="all" /}
diff --git a/resources/com/google/gitiles/templates/RepositoryIndex.soy b/resources/com/google/gitiles/templates/RepositoryIndex.soy index 3d617d7..0a27d47 100644 --- a/resources/com/google/gitiles/templates/RepositoryIndex.soy +++ b/resources/com/google/gitiles/templates/RepositoryIndex.soy
@@ -30,6 +30,7 @@ {@param? moreTagsUrl: ?} /** URL to show more branches, if necessary. */ {@param hasLog: ?} /** whether a log should be shown for HEAD. */ {@param? readmeHtml: ?} /** optional rendered README.md contents. */ + {@inject staticUrls: ?} {if $readmeHtml} {call .header data="all"} {param title: $repositoryName /} @@ -37,7 +38,7 @@ {param menuEntries: $menuEntries /} {param customVariant: $customVariant /} {param breadcrumbs: $breadcrumbs /} - {param css: [gitiles.DOC_CSS_URL] /} + {param css: [$staticUrls.DOC_CSS_URL] /} {/call} {else} {call .header}
diff --git a/resources/com/google/gitiles/templates/RevisionDetail.soy b/resources/com/google/gitiles/templates/RevisionDetail.soy index 353432c..06fa996 100644 --- a/resources/com/google/gitiles/templates/RevisionDetail.soy +++ b/resources/com/google/gitiles/templates/RevisionDetail.soy
@@ -28,13 +28,14 @@ "type" key with one of the org.eclipse.jgit.lib.Contants.TYPE_* constant strings, and a "data" key with an object whose keys correspond to the appropriate object detail template from ObjectDetail.soy. */ + {@inject staticUrls: ?} {if $hasBlob} {call .header data="all"} - {param css: [gitiles.PRETTIFY_CSS_URL] /} + {param css: [$staticUrls.PRETTIFY_CSS_URL] /} {/call} {elseif $hasReadme} {call .header data="all"} - {param css: [gitiles.DOC_CSS_URL, gitiles.PRETTIFY_CSS_URL] /} + {param css: [$staticUrls.DOC_CSS_URL, $staticUrls.PRETTIFY_CSS_URL] /} {/call} {else} {call .header data="all" /}