Merge "Add new group to permission's group object when added"
diff --git a/polygerrit-ui/app/elements/admin/gr-repo-access/gr-repo-access.html b/polygerrit-ui/app/elements/admin/gr-repo-access/gr-repo-access.html
index e650023..ed65dae 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo-access/gr-repo-access.html
+++ b/polygerrit-ui/app/elements/admin/gr-repo-access/gr-repo-access.html
@@ -31,15 +31,6 @@
 <dom-module id="gr-repo-access">
   <template>
     <style include="shared-styles">
-      .gwtLink {
-        margin-bottom: 1em;
-      }
-      .gwtLink {
-        display: none;
-      }
-      .admin .gwtLink {
-        display: block;
-      }
       gr-button {
         display: none;
       }
@@ -59,10 +50,6 @@
     </style>
     <style include="gr-menu-page-styles"></style>
     <main class$="[[_computeAdminClass(_isAdmin, _canUpload)]]">
-      <div class="gwtLink">Editing access in the new UI is a work in progress. Visit the
-        <a href$="[[computeGwtUrl(path)]]" rel="external">Old UI</a>
-        if you need a feature that is not yet supported.
-      </div>
       <template is="dom-if" if="[[_inheritsFrom]]">
         <h3 id="inheritsFrom">Rights Inherit From
           <a href$="[[_computeParentHref(_inheritsFrom.name)]]" rel="noopener">
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.html b/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.html
index 45109cd..268b678 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.html
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.html
@@ -117,7 +117,7 @@
       }
       .comma,
       .placeholder {
-        color: rgba(0, 0, 0, .87);
+        color: rgba(0, 0, 0, .54);
       }
       @media only screen and (max-width: 50em) {
         :host {
diff --git a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html
index 8aa7436..d02a189 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html
+++ b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html
@@ -115,9 +115,6 @@
           padding: 2px 4px;
         }
       }
-      .fileViewActions gr-button:first-of-type {
-        margin-left: 4px;
-      }
       .editMode .hideOnEdit {
         display: none;
       }
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.html b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.html
index 36ae32a..fd68d83 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.html
@@ -26,6 +26,7 @@
 <link rel="import" href="../../shared/gr-count-string-formatter/gr-count-string-formatter.html">
 <link rel="import" href="../../shared/gr-dropdown-list/gr-dropdown-list.html">
 <link rel="import" href="../../shared/gr-fixed-panel/gr-fixed-panel.html">
+<link rel="import" href="../../shared/gr-icons/gr-icons.html">
 <link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">
 <link rel="import" href="../../shared/gr-select/gr-select.html">
 <link rel="import" href="../../shared/revision-info/revision-info.html">
@@ -271,6 +272,13 @@
           </span>
         </div>
         <div class="rightControls">
+          <span class$="blameLoader [[_computeBlameLoaderClass(_isImageDiff, _isBlameSupported)]]">
+            <gr-button
+                link
+                disabled="[[_isBlameLoading]]"
+                on-tap="_toggleBlame">[[_computeBlameToggleLabel(_isBlameLoaded, _isBlameLoading)]]</gr-button>
+            <span class="separator"></span>
+          </span>
           <div class$="diffModeSelector [[_computeModeSelectHideClass(_isImageDiff)]]">
             <span>Diff view:</span>
             <gr-diff-mode-selector
@@ -281,10 +289,12 @@
           <span id="diffPrefsContainer"
               hidden$="[[_computePrefsButtonHidden(_prefs, _loggedIn)]]" hidden>
             <span class="preferences desktop">
-              <span class$="separator [[_computeModeSelectHideClass(_isImageDiff)]]"></span>
-              <gr-button link
+              <gr-button
+                  link
                   class="prefsButton"
-                  on-tap="_handlePrefsTap">Preferences</gr-button>
+                  has-tooltip
+                  title="Diff preferences"
+                  on-tap="_handlePrefsTap"><iron-icon icon="gr-icons:settings"></iron-icon></gr-button>
             </span>
           </span>
           <gr-endpoint-decorator name="annotation-toggler">
@@ -293,13 +303,6 @@
               <input is="iron-input" type="checkbox" id="annotation-checkbox" disabled>
             </span>
           </gr-endpoint-decorator>
-          <span class$="blameLoader [[_computeBlameLoaderClass(_isImageDiff, _isBlameSupported)]]">
-            <span class="separator"></span>
-            <gr-button
-                link
-                disabled="[[_isBlameLoading]]"
-                on-tap="_toggleBlame">[[_computeBlameToggleLabel(_isBlameLoaded, _isBlameLoading)]]</gr-button>
-          </span>
         </div>
       </div>
       <div class="fileNav mobile">
diff --git a/tools/bzl/license-map.py b/tools/bzl/license-map.py
index 79aed37..1c8db72 100644
--- a/tools/bzl/license-map.py
+++ b/tools/bzl/license-map.py
@@ -6,8 +6,8 @@
 
 import argparse
 from collections import defaultdict
+from shutil import copyfileobj
 from sys import stdout, stderr
-import os
 import xml.etree.ElementTree as ET
 
 
@@ -113,8 +113,8 @@
   print()
   print("[[%s_license]]" % safename)
   print("----")
-  with open(n[2:].replace(":", "/"), "rb") as input:
-    os.write(stdout.fileno(), input.read(-1))
+  with open(n[2:].replace(":", "/")) as fd:
+    copyfileobj(fd, stdout)
   print()
   print("----")
   print()
diff --git a/tools/bzl/license.bzl b/tools/bzl/license.bzl
index 38dfbe5..3578173 100644
--- a/tools/bzl/license.bzl
+++ b/tools/bzl/license.bzl
@@ -25,7 +25,7 @@
   # post process the XML into our favorite format.
   native.genrule(
     name = "gen_license_txt_" + name,
-    cmd = "python $(location //tools/bzl:license-map.py) %s %s > $@" % (" ".join(opts), " ".join(xmls)),
+    cmd = "python2 $(location //tools/bzl:license-map.py) %s %s > $@" % (" ".join(opts), " ".join(xmls)),
     outs = [ name + ".txt" ],
     tools = tools,
     **kwargs