From 9e6945adf66ba00af11b70fecff997ad9c81e251 Mon Sep 17 00:00:00 2001 From: Ian Bull Date: Thu, 13 Mar 2014 11:25:19 -0700 Subject: [PATCH] Handle absolute URLs in the TopLevel menu. Absolute URLs were being treated as relative URLs. This addresses the problem by checking if the URL starts with 'https?://' for both http and https URLs. Bug: Issue 2551 Change-Id: I3ee1e9092bce1edffc0e740495936539d2089466 --- .../src/main/java/com/google/gerrit/client/Gerrit.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java index aaa902c34f..cd2cccdca2 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java @@ -889,11 +889,18 @@ public class Gerrit implements EntryPoint { } private static void addExtensionLink(LinkMenuBar m, TopMenuItem item) { - Anchor atag = anchor(item.getName(), selfRedirect(item.getUrl())); + Anchor atag = anchor(item.getName(), isAbsolute(item.getUrl()) + ? item.getUrl() + : selfRedirect(item.getUrl())); + atag.setTarget(item.getTarget()); if (item.getId() != null) { atag.getElement().setAttribute("id", item.getId()); } m.add(atag); } + + private static boolean isAbsolute(String url) { + return url.matches("^https?://.*"); + } }