Soy index cleanup Some cleanup on the use of Soy index: * The canonical-path property of GR-APP is removed because it did not initialize at the right time and a top-level global is used instead. * Only set a top-level global for canonical path if it is not the empty string. In this way, the index document does not include an inline script when it is not needed. * Give the index Soy template a more descriptive name. index.html.soy was too generic, and the intermediate period would cause problems with some internal build tooling. Bug: Issue 5919 Change-Id: I0bf5964b17cb4f4f9df150b0c6abe8ae1e49f22b
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/IndexServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/IndexServlet.java index 3eb77ea..4ac3da7 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/IndexServlet.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/IndexServlet.java
@@ -37,7 +37,7 @@ private final byte[] indexSource; IndexServlet(String canonicalURL, @Nullable String cdnPath) throws URISyntaxException { - String resourcePath = "com/google/gerrit/httpd/raw/index.html.soy"; + String resourcePath = "com/google/gerrit/httpd/raw/PolyGerritIndexHtml.soy"; SoyFileSet.Builder builder = SoyFileSet.builder(); builder.add(Resources.getResource(resourcePath)); SoyTofu.Renderer renderer =
diff --git a/gerrit-httpd/src/main/resources/com/google/gerrit/httpd/raw/index.html.soy b/gerrit-httpd/src/main/resources/com/google/gerrit/httpd/raw/PolyGerritIndexHtml.soy similarity index 92% rename from gerrit-httpd/src/main/resources/com/google/gerrit/httpd/raw/index.html.soy rename to gerrit-httpd/src/main/resources/com/google/gerrit/httpd/raw/PolyGerritIndexHtml.soy index 4d8c43b..32f91f1 100644 --- a/gerrit-httpd/src/main/resources/com/google/gerrit/httpd/raw/index.html.soy +++ b/gerrit-httpd/src/main/resources/com/google/gerrit/httpd/raw/PolyGerritIndexHtml.soy
@@ -27,7 +27,9 @@ <meta name="description" content="Gerrit Code Review">{\n} <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">{\n} - <script>window.CANONICAL_PATH = '{$canonicalPath}';</script>{\n} + {if $canonicalPath != ''} + <script>window.CANONICAL_PATH = '{$canonicalPath}';</script>{\n} + {/if} // SourceCodePro fonts are used in styles/fonts.css // @see https://github.com/w3c/preload/issues/32 regarding crossorigin @@ -40,5 +42,5 @@ <link rel="import" href="{$staticResourcePath}/elements/gr-app.html">{\n} <body unresolved>{\n} - <gr-app id="app" canonical-path="{$canonicalPath}"></gr-app>{\n} + <gr-app id="app"></gr-app>{\n} {/template}
diff --git a/polygerrit-ui/app/elements/gr-app.js b/polygerrit-ui/app/elements/gr-app.js index acf38c7..90f641d 100644 --- a/polygerrit-ui/app/elements/gr-app.js +++ b/polygerrit-ui/app/elements/gr-app.js
@@ -37,12 +37,6 @@ value: function() { return document.body; }, }, - /** - * The path component of the canonicalWebURL. If Gerrit is running from - * the root of the domain, this should be empty. - */ - canonicalPath: String, - _account: { type: Object, observer: '_accountChanged', @@ -80,8 +74,6 @@ }, ready: function() { - Gerrit.CANONICAL_PATH = this.canonicalPath; - this.$.router.start(); this.$.restAPI.getAccount().then(function(account) {
diff --git a/polygerrit-ui/app/elements/gr-app_test.html b/polygerrit-ui/app/elements/gr-app_test.html index 2eb835d..7fcb03c 100644 --- a/polygerrit-ui/app/elements/gr-app_test.html +++ b/polygerrit-ui/app/elements/gr-app_test.html
@@ -27,7 +27,7 @@ <test-fixture id="basic"> <template> - <gr-app id="app" canonical-path="/abc/def/ghi"></gr-app> + <gr-app id="app"></gr-app> </template> </test-fixture> @@ -107,9 +107,5 @@ done(); }); }); - - test('canonical-path', function() { - assert.equal(Gerrit.CANONICAL_PATH, '/abc/def/ghi'); - }); }); </script>