Merge branch 'stable-3.0'

* stable-3.0:
  Remove check whether window.Polymer is defined
  Remove GWT UI
  Revert "Configure whether to allow user to select preserve"

Change-Id: Iede0faa6e84e87b03c2768235eb7aefc4dbcd479
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditions.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditions.java
index 7085768..5bf75c5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditions.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditions.java
@@ -155,7 +155,7 @@
         MergeOpRepoManager mergeOp = mergeOpProvider.get()) {
       Set<Branch.NameKey> branches =
           repo.getRefDatabase().getRefsByPrefix(REFS_HEADS).stream()
-              .map(ref -> new Branch.NameKey(projectNameKey, ref.getName()))
+              .map(ref -> Branch.nameKey(projectNameKey, ref.getName()))
               .collect(toSet());
       SubmoduleOp sub = subOpFactory.create(branches, mergeOp);
       for (Branch.NameKey b : branches) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/HideProject.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/HideProject.java
index 9546f9c..5ed2efe 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/HideProject.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/HideProject.java
@@ -84,7 +84,7 @@
   }
 
   private void createProjectIfMissing(String projectName) throws IOException, RestApiException {
-    if (projectCache.get(new Project.NameKey(projectName)) == null) {
+    if (projectCache.get(Project.nameKey(projectName)) == null) {
       try {
         createProject.apply(TopLevelResource.INSTANCE, IdString.fromDecoded(projectName), null);
       } catch (RestApiException | ConfigInvalidException | PermissionBackendException e) {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditionsTest.java b/src/test/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditionsTest.java
index a986f28..b2cc319 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditionsTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditionsTest.java
@@ -53,7 +53,7 @@
 @RunWith(MockitoJUnitRunner.class)
 public class DeletePreconditionsTest {
   private static final String PLUGIN_NAME = "delete-project";
-  private static final Project.NameKey PROJECT_NAMEKEY = new Project.NameKey("test-project");
+  private static final Project.NameKey PROJECT_NAMEKEY = Project.nameKey("test-project");
 
   @Mock private Configuration config;
   @Mock private Provider<ListChildProjects> listChildProjectsProvider;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/deleteproject/ProtectedProjectsTest.java b/src/test/java/com/googlesource/gerrit/plugins/deleteproject/ProtectedProjectsTest.java
index 3b18ba3..cc6e1f1 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/deleteproject/ProtectedProjectsTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/deleteproject/ProtectedProjectsTest.java
@@ -92,10 +92,10 @@
   }
 
   private void assertProtected(String name) {
-    assertThat(protectedProjects.isProtected(new Project.NameKey(name))).isTrue();
+    assertThat(protectedProjects.isProtected(Project.nameKey(name))).isTrue();
   }
 
   private void assertNotProtected(String name) {
-    assertThat(protectedProjects.isProtected(new Project.NameKey(name))).isFalse();
+    assertThat(protectedProjects.isProtected(Project.nameKey(name))).isFalse();
   }
 }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandlerTest.java
index c03b810..de59ac3 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandlerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandlerTest.java
@@ -62,7 +62,7 @@
   public void shouldDeleteRepository() throws Exception {
     String repoName = "testRepo";
     Repository repository = createRepository(repoName);
-    Project.NameKey nameKey = new Project.NameKey(repoName);
+    Project.NameKey nameKey = Project.nameKey(repoName);
     Project project = new Project(nameKey);
     when(repoManager.openRepository(nameKey)).thenReturn(repository);
     when(config.shouldArchiveDeletedRepos()).thenReturn(false);
@@ -75,7 +75,7 @@
   public void shouldDeleteEmptyParentFolders() throws Exception {
     String repoName = "a/b/c";
     Repository repository = createRepository(repoName);
-    Project.NameKey nameKey = new Project.NameKey(repoName);
+    Project.NameKey nameKey = Project.nameKey(repoName);
     Project project = new Project(nameKey);
     when(repoManager.openRepository(nameKey)).thenReturn(repository);
     fsDeleteHandler = new FilesystemDeleteHandler(repoManager, deletedListener, config);
@@ -91,7 +91,7 @@
     String repoToKeepName = "a/b/e";
     Repository repoToKeep = createRepository(repoToKeepName);
 
-    Project.NameKey nameKey = new Project.NameKey(repoToDeleteName);
+    Project.NameKey nameKey = Project.nameKey(repoToDeleteName);
     Project project = new Project(nameKey);
     when(repoManager.openRepository(nameKey)).thenReturn(repoToDelete);
     fsDeleteHandler = new FilesystemDeleteHandler(repoManager, deletedListener, config);
@@ -104,7 +104,7 @@
   public void shouldPreserveRepository() throws Exception {
     String repoName = "preservedRepo";
     Repository repository = createRepository(repoName);
-    Project.NameKey nameKey = new Project.NameKey(repoName);
+    Project.NameKey nameKey = Project.nameKey(repoName);
     Project project = new Project(nameKey);
     when(repoManager.openRepository(nameKey)).thenReturn(repository);
     fsDeleteHandler = new FilesystemDeleteHandler(repoManager, deletedListener, config);
@@ -126,7 +126,7 @@
     Path archiveFolder = basePath.resolve("test_archive");
     when(config.shouldArchiveDeletedRepos()).thenReturn(true);
     when(config.getArchiveFolder()).thenReturn(archiveFolder);
-    Project.NameKey nameKey = new Project.NameKey(repoName);
+    Project.NameKey nameKey = Project.nameKey(repoName);
     Project project = new Project(nameKey);
     when(repoManager.openRepository(nameKey)).thenReturn(repository);
     fsDeleteHandler = new FilesystemDeleteHandler(repoManager, deletedListener, config);