Replace usage on `dom` wrapper on element for native methods

1. appendChild
2. textContent
3. querySelector*
4. parentNode
5. removeChild
6. children

Leave all dom usage on Event untouched.

Change-Id: I01a3e9ae96dc65b296fbd1ae4f10cf1b132f90ee
diff --git a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.js b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.js
index d1255d2..c5d24db 100644
--- a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.js
+++ b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.js
@@ -21,7 +21,6 @@
 import '../../shared/gr-icons/gr-icons.js';
 import '../../shared/gr-rest-api-interface/gr-rest-api-interface.js';
 import '../gr-permission/gr-permission.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
 import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
 import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
@@ -237,7 +236,7 @@
   }
 
   editRefInput() {
-    return dom(this.root).querySelector(PolymerElement ?
+    return this.root.querySelector(PolymerElement ?
       'iron-input.editRefInput' :
       'input[is=iron-input].editRefInput');
   }
diff --git a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.js b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.js
index f8b5abd..9ce4296 100644
--- a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view_test.js
@@ -74,7 +74,7 @@
     };
 
     flushAsynchronousOperations();
-    assert.equal(dom(element.root).querySelectorAll(
+    assert.equal(element.root.querySelectorAll(
         '.selected').length, 1);
     assert.ok(element.shadowRoot
         .querySelector('gr-repo-list'));
diff --git a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.js b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.js
index 22f19a6..79a18d5 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-create-pointer-dialog/gr-create-pointer-dialog_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-create-pointer-dialog.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-create-pointer-dialog');
 
@@ -25,7 +24,7 @@
   let element;
 
   const ironInput = function(element) {
-    return dom(element).querySelector('iron-input');
+    return element.querySelector('iron-input');
   };
 
   setup(() => {
diff --git a/polygerrit-ui/app/elements/admin/gr-plugin-config-array-editor/gr-plugin-config-array-editor_test.js b/polygerrit-ui/app/elements/admin/gr-plugin-config-array-editor/gr-plugin-config-array-editor_test.js
index 9e9eb1c..dae90a1 100644
--- a/polygerrit-ui/app/elements/admin/gr-plugin-config-array-editor/gr-plugin-config-array-editor_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-plugin-config-array-editor/gr-plugin-config-array-editor_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-plugin-config-array-editor.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-plugin-config-array-editor');
 
@@ -26,7 +25,7 @@
 
   let dispatchStub;
 
-  const getAll = str => dom(element.root).querySelectorAll(str);
+  const getAll = str => element.root.querySelectorAll(str);
 
   setup(() => {
     element = basicFixture.instantiate();
diff --git a/polygerrit-ui/app/elements/admin/gr-plugin-list/gr-plugin-list_test.js b/polygerrit-ui/app/elements/admin/gr-plugin-list/gr-plugin-list_test.js
index d60483e..4176dd8 100644
--- a/polygerrit-ui/app/elements/admin/gr-plugin-list/gr-plugin-list_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-plugin-list/gr-plugin-list_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-plugin-list.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-plugin-list');
 
@@ -77,7 +76,7 @@
 
     test('with and without urls', done => {
       flush(() => {
-        const names = dom(element.root).querySelectorAll('.name');
+        const names = element.root.querySelectorAll('.name');
         assert.isOk(names[1].querySelector('a'));
         assert.equal(names[1].querySelector('a').innerText, 'test1');
         assert.isNotOk(names[2].querySelector('a'));
diff --git a/polygerrit-ui/app/elements/admin/gr-repo-access/gr-repo-access.js b/polygerrit-ui/app/elements/admin/gr-repo-access/gr-repo-access.js
index 8f48382..086d817 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo-access/gr-repo-access.js
+++ b/polygerrit-ui/app/elements/admin/gr-repo-access/gr-repo-access.js
@@ -19,7 +19,7 @@
 import '../../../styles/shared-styles.js';
 import '../../shared/gr-rest-api-interface/gr-rest-api-interface.js';
 import '../gr-access-section/gr-access-section.js';
-import {flush, dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
+import {flush} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
 import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
@@ -424,7 +424,7 @@
     this.push('_sections', {id: newRef, value: section});
     this.set(['_local', newRef], section);
     flush();
-    dom(this.root).querySelector('gr-access-section:last-of-type')
+    this.root.querySelector('gr-access-section:last-of-type')
         .editReference();
   }
 
diff --git a/polygerrit-ui/app/elements/admin/gr-repo-detail-list/gr-repo-detail-list_test.js b/polygerrit-ui/app/elements/admin/gr-repo-detail-list/gr-repo-detail-list_test.js
index 611461c5..7f6ba08 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo-detail-list/gr-repo-detail-list_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-repo-detail-list/gr-repo-detail-list_test.js
@@ -132,9 +132,9 @@
       });
 
       test('Edit HEAD button admin', done => {
-        const saveBtn = dom(element.root).querySelector('.saveBtn');
-        const cancelBtn = dom(element.root).querySelector('.cancelBtn');
-        const editBtn = dom(element.root).querySelector('.editBtn');
+        const saveBtn = element.root.querySelector('.saveBtn');
+        const cancelBtn = element.root.querySelector('.cancelBtn');
+        const editBtn = element.root.querySelector('.editBtn');
         const revisionNoEditing = dom(element.root)
             .querySelector('.revisionNoEditing');
         const revisionWithEditing = dom(element.root)
diff --git a/polygerrit-ui/app/elements/admin/gr-repo/gr-repo_test.js b/polygerrit-ui/app/elements/admin/gr-repo/gr-repo_test.js
index 3b42e3b..4d7946c 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo/gr-repo_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-repo/gr-repo_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-repo.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
 
 const basicFixture = fixtureFromElement('gr-repo');
@@ -90,11 +89,11 @@
 
   function getFormFields() {
     const selects = Array.from(
-        dom(element.root).querySelectorAll('select'));
+        element.root.querySelectorAll('select'));
     const textareas = Array.from(
-        dom(element.root).querySelectorAll('iron-autogrow-textarea'));
+        element.root.querySelectorAll('iron-autogrow-textarea'));
     const inputs = Array.from(
-        dom(element.root).querySelectorAll('input'));
+        element.root.querySelectorAll('input'));
     return inputs.concat(textareas).concat(selects);
   }
 
@@ -326,7 +325,7 @@
       const saveStub = sinon.stub(element.$.restAPI, 'saveRepoConfig')
           .callsFake(() => Promise.resolve({}));
 
-      const button = dom(element.root).querySelector('gr-button');
+      const button = element.root.querySelector('gr-button');
 
       return element._loadRepo().then(() => {
         assert.isTrue(button.hasAttribute('disabled'));
diff --git a/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor_test.js b/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor_test.js
index 9364a50..5a9ba37 100644
--- a/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor_test.js
+++ b/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-rule-editor.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-rule-editor');
 
@@ -209,8 +208,8 @@
 
     test('values are set correctly', () => {
       assert.equal(element.$.action.bindValue, element.rule.value.action);
-      assert.isNotOk(dom(element.root).querySelector('#labelMin'));
-      assert.isNotOk(dom(element.root).querySelector('#labelMax'));
+      assert.isNotOk(element.root.querySelector('#labelMin'));
+      assert.isNotOk(element.root.querySelector('#labelMax'));
       assert.isFalse(element.$.force.classList.contains('force'));
     });
 
@@ -238,7 +237,7 @@
     });
 
     test('all selects are disabled when not in edit mode', () => {
-      const selects = dom(element.root).querySelectorAll('select');
+      const selects = element.root.querySelectorAll('select');
       for (const select of selects) {
         assert.isTrue(select.disabled);
       }
@@ -384,10 +383,10 @@
     test('values are set correctly', () => {
       assert.equal(element.$.action.bindValue, element.rule.value.action);
       assert.equal(
-          dom(element.root).querySelector('#labelMin').bindValue,
+          element.root.querySelector('#labelMin').bindValue,
           element.rule.value.min);
       assert.equal(
-          dom(element.root).querySelector('#labelMax').bindValue,
+          element.root.querySelector('#labelMax').bindValue,
           element.rule.value.max);
       assert.isFalse(element.$.force.classList.contains('force'));
     });
@@ -396,7 +395,7 @@
       const removeStub = sinon.stub();
       element.addEventListener('added-rule-removed', removeStub);
       assert.isNotOk(element.rule.value.modified);
-      dom(element.root).querySelector('#labelMin').bindValue = 1;
+      element.root.querySelector('#labelMin').bindValue = 1;
       flushAsynchronousOperations();
       assert.isTrue(element.rule.value.modified);
       assert.isFalse(removeStub.called);
@@ -449,17 +448,17 @@
             element.$.action.bindValue,
             expectedRuleValue.action);
         assert.equal(
-            dom(element.root).querySelector('#labelMin').bindValue,
+            element.root.querySelector('#labelMin').bindValue,
             expectedRuleValue.min);
         assert.equal(
-            dom(element.root).querySelector('#labelMax').bindValue,
+            element.root.querySelector('#labelMax').bindValue,
             expectedRuleValue.max);
       });
     });
 
     test('modify value', () => {
       assert.isNotOk(element.rule.value.modified);
-      dom(element.root).querySelector('#labelMin').bindValue = 1;
+      element.root.querySelector('#labelMin').bindValue = 1;
       flushAsynchronousOperations();
       assert.isTrue(element.rule.value.modified);
 
@@ -496,10 +495,10 @@
       assert.isTrue(element.$.force.classList.contains('force'));
       assert.equal(element.$.action.bindValue, element.rule.value.action);
       assert.equal(
-          dom(element.root).querySelector('#force').bindValue,
+          element.root.querySelector('#force').bindValue,
           element.rule.value.force);
-      assert.isNotOk(dom(element.root).querySelector('#labelMin'));
-      assert.isNotOk(dom(element.root).querySelector('#labelMax'));
+      assert.isNotOk(element.root.querySelector('#labelMin'));
+      assert.isNotOk(element.root.querySelector('#labelMax'));
     });
 
     test('modify value', () => {
@@ -585,10 +584,10 @@
       assert.isTrue(element.$.force.classList.contains('force'));
       assert.equal(element.$.action.bindValue, element.rule.value.action);
       assert.equal(
-          dom(element.root).querySelector('#force').bindValue,
+          element.root.querySelector('#force').bindValue,
           element.rule.value.force);
-      assert.isNotOk(dom(element.root).querySelector('#labelMin'));
-      assert.isNotOk(dom(element.root).querySelector('#labelMax'));
+      assert.isNotOk(element.root.querySelector('#labelMin'));
+      assert.isNotOk(element.root.querySelector('#labelMax'));
     });
 
     test('modify value', () => {
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.js b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.js
index 9a65559..cdc2ea4 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.js
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.js
@@ -21,7 +21,6 @@
 import '../gr-change-list-item/gr-change-list-item.js';
 import '../../../styles/shared-styles.js';
 import '../../plugins/gr-endpoint-decorator/gr-endpoint-decorator.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {afterNextRender} from '@polymer/polymer/lib/utils/render-status.js';
 import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
 import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
@@ -416,7 +415,7 @@
 
   _getListItems() {
     return Array.from(
-        dom(this.root).querySelectorAll('gr-change-list-item'));
+        this.root.querySelectorAll('gr-change-list-item'));
   }
 
   _sectionsChanged() {
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.js b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.js
index 9c8b04d..c615bca 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.js
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-change-list.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {afterNextRender} from '@polymer/polymer/lib/utils/render-status.js';
 import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
 import {TestKeyboardShortcutBinder} from '../../../test/test-utils.js';
@@ -140,7 +139,7 @@
       {results: [{}]},
     ];
     flushAsynchronousOperations();
-    const tdItemCount = dom(element.root).querySelectorAll(
+    const tdItemCount = element.root.querySelectorAll(
         'td').length;
 
     const changeTableColumns = [];
@@ -163,7 +162,7 @@
     ];
     flushAsynchronousOperations();
     afterNextRender(element, () => {
-      const elementItems = dom(element.root).querySelectorAll(
+      const elementItems = element.root.querySelectorAll(
           'gr-change-list-item');
       assert.equal(elementItems.length, 3);
 
@@ -231,7 +230,7 @@
       },
     ];
     flushAsynchronousOperations();
-    let elementItems = dom(element.root).querySelectorAll(
+    let elementItems = element.root.querySelectorAll(
         'gr-change-list-item');
     assert.equal(elementItems.length, 5);
     for (let i = 0; i < elementItems.length; i++) {
@@ -239,7 +238,7 @@
     }
 
     element.showReviewedState = true;
-    elementItems = dom(element.root).querySelectorAll(
+    elementItems = element.root.querySelectorAll(
         'gr-change-list-item');
     assert.equal(elementItems.length, 5);
     assert.isFalse(elementItems[0].hasAttribute('needs-review'));
@@ -249,7 +248,7 @@
     assert.isFalse(elementItems[4].hasAttribute('needs-review'));
 
     element.account = {_account_id: 42};
-    elementItems = dom(element.root).querySelectorAll(
+    elementItems = element.root.querySelectorAll(
         'gr-change-list-item');
     assert.equal(elementItems.length, 5);
     assert.isFalse(elementItems[0].hasAttribute('needs-review'));
@@ -261,7 +260,7 @@
     element._config = {
       change: {enable_attention_set: true},
     };
-    elementItems = dom(element.root).querySelectorAll(
+    elementItems = element.root.querySelectorAll(
         'gr-change-list-item');
     for (let i = 0; i < elementItems.length; i++) {
       assert.isFalse(elementItems[i].hasAttribute('needs-review'));
@@ -271,21 +270,21 @@
   test('no changes', () => {
     element.changes = [];
     flushAsynchronousOperations();
-    const listItems = dom(element.root).querySelectorAll(
+    const listItems = element.root.querySelectorAll(
         'gr-change-list-item');
     assert.equal(listItems.length, 0);
     const noChangesMsg =
-        dom(element.root).querySelector('.noChanges');
+        element.root.querySelector('.noChanges');
     assert.ok(noChangesMsg);
   });
 
   test('empty sections', () => {
     element.sections = [{results: []}, {results: []}];
     flushAsynchronousOperations();
-    const listItems = dom(element.root).querySelectorAll(
+    const listItems = element.root.querySelectorAll(
         'gr-change-list-item');
     assert.equal(listItems.length, 0);
-    const noChangesMsg = dom(element.root).querySelectorAll(
+    const noChangesMsg = element.root.querySelectorAll(
         '.noChanges');
     assert.equal(noChangesMsg.length, 2);
   });
@@ -537,7 +536,7 @@
       ];
       flushAsynchronousOperations();
       afterNextRender(element, () => {
-        const elementItems = dom(element.root).querySelectorAll(
+        const elementItems = element.root.querySelectorAll(
             'gr-change-list-item');
         assert.equal(elementItems.length, 9);
 
diff --git a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.js b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.js
index 510be16..0d50141 100644
--- a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.js
+++ b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.js
@@ -1139,7 +1139,7 @@
 
   _hideAllDialogs() {
     const dialogEls =
-        dom(this.root).querySelectorAll('.confirmDialog');
+        this.root.querySelectorAll('.confirmDialog');
     for (const dialogEl of dialogEls) { dialogEl.hidden = true; }
     this.$.overlay.close();
   }
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.js b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.js
index 87e100c..0f9e3b1 100644
--- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.js
+++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.js
@@ -18,7 +18,6 @@
 import '../../../test/common-test-setup-karma.js';
 import {html} from '@polymer/polymer/lib/utils/html-tag.js';
 import './gr-change-metadata.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {resetPlugins} from '../../../test/test-utils.js';
 import {pluginLoader} from '../../shared/gr-js-api-interface/gr-plugin-loader.js';
 import {_testOnly_initGerritPluginApi} from '../../shared/gr-js-api-interface/gr-gerrit.js';
@@ -76,7 +75,7 @@
 
   const getStyle = function(selector, name) {
     return window.getComputedStyle(
-        dom(element.root).querySelector(selector))[name];
+        element.root.querySelector(selector))[name];
   };
 
   function createElement() {
diff --git a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.js b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.js
index 5dd5de7..208b7e2 100644
--- a/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.js
+++ b/polygerrit-ui/app/elements/change/gr-download-dialog/gr-download-dialog_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-download-dialog.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-download-dialog');
 
@@ -120,7 +119,7 @@
 
   test('anchors use download attribute', () => {
     const anchors = Array.from(
-        dom(element.root).querySelectorAll('a'));
+        element.root.querySelectorAll('a'));
     assert.isTrue(!anchors.some(a => !a.hasAttribute('download')));
   });
 
diff --git a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.js b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.js
index d0155d6..dd05b9d 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.js
+++ b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-file-list-header.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GrFileListConstants} from '../gr-file-list-constants.js';
 import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
 import {generateChange} from '../../../test/test-utils.js';
@@ -103,8 +102,8 @@
 
     // The element has a description, so the account chip should be visible
     // and the description label should not exist.
-    const chip = dom(element.root).querySelector('#descriptionChip');
-    let label = dom(element.root).querySelector('#descriptionLabel');
+    const chip = element.root.querySelector('#descriptionChip');
+    let label = element.root.querySelector('#descriptionLabel');
 
     assert.equal(chip.text, 'test');
     assert.isNotOk(label);
@@ -120,7 +119,7 @@
 
           flushAsynchronousOperations();
           // The editable label should now be visible and the chip hidden.
-          label = dom(element.root).querySelector('#descriptionLabel');
+          label = element.root.querySelector('#descriptionLabel');
           assert.isOk(label);
           assert.equal(getComputedStyle(chip).display, 'none');
           assert.notEqual(getComputedStyle(label).display, 'none');
@@ -148,7 +147,7 @@
     element.shownFileCount = 1;
     flushAsynchronousOperations();
     sinon.stub(element, '_expandAllDiffs');
-    MockInteractions.tap(dom(element.root).querySelector(
+    MockInteractions.tap(element.root.querySelector(
         '#expandBtn'));
     assert.isTrue(element._expandAllDiffs.called);
   });
@@ -157,7 +156,7 @@
     element.shownFileCount = 1;
     flushAsynchronousOperations();
     sinon.stub(element, '_collapseAllDiffs');
-    MockInteractions.tap(dom(element.root).querySelector(
+    MockInteractions.tap(element.root.querySelector(
         '#collapseBtn'));
     assert.isTrue(element._collapseAllDiffs.called);
   });
diff --git a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.js b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.js
index 2ad0b0c..5358d98 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.js
+++ b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.js
@@ -27,7 +27,7 @@
 import '../../shared/gr-select/gr-select.js';
 import '../../shared/gr-tooltip-content/gr-tooltip-content.js';
 import '../../shared/gr-copy-clipboard/gr-copy-clipboard.js';
-import {dom, flush} from '@polymer/polymer/lib/legacy/polymer.dom.js';
+import {flush} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
 import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
@@ -406,7 +406,7 @@
   }
 
   get diffs() {
-    const diffs = dom(this.root).querySelectorAll('gr-diff-host');
+    const diffs = this.root.querySelectorAll('gr-diff-host');
     // It is possible that a bogus diff element is hanging around invisibly
     // from earlier with a different patch set choice and associated with a
     // different entry in the files array. So filter on visible items only.
@@ -1121,7 +1121,7 @@
     if (this._files && this._files.length > 0) {
       flush();
       this.$.fileCursor.stops = Array.from(
-          dom(this.root).querySelectorAll(`.${FILE_ROW_CLASS}`));
+          this.root.querySelectorAll(`.${FILE_ROW_CLASS}`));
       this.$.fileCursor.setCursorAtIndex(this.selectedIndex, true);
     }
   }
diff --git a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.js b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.js
index 932000c..aaa4499 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.js
+++ b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.js
@@ -129,7 +129,7 @@
 
       flushAsynchronousOperations();
       assert.equal(
-          dom(element.root).querySelectorAll('.file-row').length,
+          element.root.querySelectorAll('.file-row').length,
           element.numFilesShown);
       const controlRow = element.shadowRoot
           .querySelector('.controlRow');
@@ -156,7 +156,7 @@
           }, {});
       flushAsynchronousOperations();
       assert.equal(
-          dom(element.root).querySelectorAll('.file-row').length, 10);
+          element.root.querySelectorAll('.file-row').length, 10);
       assert.equal(renderedStub.callCount, 10);
     });
 
@@ -611,7 +611,7 @@
       test('keyboard shortcuts', () => {
         flushAsynchronousOperations();
 
-        const items = dom(element.root).querySelectorAll('.file-row');
+        const items = element.root.querySelectorAll('.file-row');
         element.$.fileCursor.stops = items;
         element.$.fileCursor.setCursorAtIndex(0);
         assert.equal(items.length, 3);
@@ -667,7 +667,7 @@
         const paths = Object.keys(element._filesByPath);
         sinon.stub(element, '_expandedFilesChanged');
         flushAsynchronousOperations();
-        const files = dom(element.root).querySelectorAll('.file-row');
+        const files = element.root.querySelectorAll('.file-row');
         element.$.fileCursor.stops = files;
         element.$.fileCursor.setCursorAtIndex(0);
         assert.equal(element.diffs.length, 0);
@@ -832,7 +832,7 @@
 
       flushAsynchronousOperations();
       const fileRows =
-          dom(element.root).querySelectorAll('.row:not(.header-row)');
+          element.root.querySelectorAll('.row:not(.header-row)');
       const checkSelector = 'span.reviewedSwitch[role="switch"]';
       const commitMsg = fileRows[0].querySelector(checkSelector);
       const fileAdded = fileRows[1].querySelector(checkSelector);
@@ -898,7 +898,7 @@
 
       // Click inside the diff. This should result in no additional calls to
       // _toggleFileExpanded or _reviewFile.
-      dom(element.root).querySelector('gr-diff-host')
+      element.root.querySelector('gr-diff-host')
           .click();
       assert.isTrue(clickSpy.calledTwice);
       assert.isTrue(toggleExpandSpy.calledOnce);
@@ -941,7 +941,7 @@
       sinon.stub(element, '_expandedFilesChanged');
       flushAsynchronousOperations();
       const fileRows =
-          dom(element.root).querySelectorAll('.row:not(.header-row)');
+          element.root.querySelectorAll('.row:not(.header-row)');
       // Because the label surrounds the input, the tap event is triggered
       // there first.
       const showHideCheck = fileRows[0].querySelector(
@@ -1516,7 +1516,7 @@
 
     const renderAndGetNewDiffs = function(index) {
       const diffs =
-          dom(element.root).querySelectorAll('gr-diff-host');
+          element.root.querySelectorAll('gr-diff-host');
 
       for (let i = index; i < diffs.length; i++) {
         setupDiff(diffs[i]);
@@ -1673,7 +1673,7 @@
         nextChunkStub = sinon.stub(element.$.diffCursor,
             'moveToNextChunk');
         fileRows =
-            dom(element.root).querySelectorAll('.row:not(.header-row)');
+            element.root.querySelectorAll('.row:not(.header-row)');
       });
 
       test('n key with some files expanded and no shift key', () => {
diff --git a/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row_test.js b/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row_test.js
index 0739f73..60fe10c 100644
--- a/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row_test.js
+++ b/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-label-score-row.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-label-score-row');
 
@@ -283,7 +282,7 @@
       assert.strictEqual(element.$.labelSelector
           .items.length, 2);
       assert.strictEqual(
-          dom(element.root).querySelectorAll('.placeholder').length,
+          element.root.querySelectorAll('.placeholder').length,
           3);
 
       element.permittedLabels = {
@@ -303,7 +302,7 @@
         assert.strictEqual(element.$.labelSelector
             .items.length, 5);
         assert.strictEqual(
-            dom(element.root).querySelectorAll('.placeholder').length,
+            element.root.querySelectorAll('.placeholder').length,
             0);
         done();
       });
diff --git a/polygerrit-ui/app/elements/change/gr-message/gr-message_test.js b/polygerrit-ui/app/elements/change/gr-message/gr-message_test.js
index d425398..c617d2c 100644
--- a/polygerrit-ui/app/elements/change/gr-message/gr-message_test.js
+++ b/polygerrit-ui/app/elements/change/gr-message/gr-message_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-message.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-message');
 
@@ -202,9 +201,9 @@
           message: `Patch Set 1: ${label}+1`,
         };
         assert.isNotOk(
-            dom(element.root).querySelector('.negativeVote'));
+            element.root.querySelector('.negativeVote'));
         assert.isNotOk(
-            dom(element.root).querySelector('.positiveVote'));
+            element.root.querySelector('.positiveVote'));
       });
     });
 
@@ -302,7 +301,7 @@
         'Trybot-Label3': {max: 3, min: 0},
       };
       flushAsynchronousOperations();
-      const scoreChips = dom(element.root).querySelectorAll('.score');
+      const scoreChips = element.root.querySelectorAll('.score');
       assert.equal(scoreChips.length, 3);
 
       assert.isTrue(scoreChips[0].classList.contains('positive'));
@@ -327,7 +326,7 @@
         'Commit-Queue': {max: 3, min: 0},
       };
       flushAsynchronousOperations();
-      const scoreChips = dom(element.root).querySelectorAll('.score');
+      const scoreChips = element.root.querySelectorAll('.score');
       assert.equal(scoreChips.length, 3);
 
       assert.isTrue(scoreChips[1].classList.contains('removed'));
@@ -341,7 +340,7 @@
         message: 'Patch Set 1: Cherry Picked from branch stable-2.14.',
       };
       element.labelExtremes = {};
-      const scoreChips = dom(element.root).querySelectorAll('.score');
+      const scoreChips = element.root.querySelectorAll('.score');
       assert.equal(scoreChips.length, 0);
     });
   });
diff --git a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js
index 342d5bb..bed78df 100644
--- a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js
+++ b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list.js
@@ -19,7 +19,6 @@
 import '../../shared/gr-icons/gr-icons.js';
 import '../gr-message/gr-message.js';
 import '../../../styles/shared-styles.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
 import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
@@ -347,7 +346,7 @@
 
   _highlightEl(el) {
     const highlightedEls =
-        dom(this.root).querySelectorAll('.highlighted');
+        this.root.querySelectorAll('.highlighted');
     for (const highlightedEl of highlightedEls) {
       highlightedEl.classList.remove('highlighted');
     }
diff --git a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.js b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.js
index c3245fe..083fe04 100644
--- a/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.js
+++ b/polygerrit-ui/app/elements/change/gr-messages-list/gr-messages-list_test.js
@@ -19,7 +19,6 @@
 import '../../diff/gr-comment-api/gr-comment-api.js';
 import './gr-messages-list.js';
 import {createCommentApiMockWithTemplateElement} from '../../../test/mocks/comment-api.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {TEST_ONLY} from './gr-messages-list.js';
 import {MessageTag} from '../../../constants/constants.js';
 import {html} from '@polymer/polymer/lib/utils/html-tag.js';
@@ -67,7 +66,7 @@
   let commentApiWrapper;
 
   const getMessages = function() {
-    return dom(element.root).querySelectorAll('gr-message');
+    return element.root.querySelectorAll('gr-message');
   };
 
   const MESSAGE_ID_0 = '1234ccc949c6d482b061be6a28e10782abf0e7af';
@@ -469,32 +468,32 @@
     });
 
     test('hide autogenerated button is not hidden', () => {
-      const toggle = dom(element.root).querySelector('.showAllActivityToggle');
+      const toggle = element.root.querySelector('.showAllActivityToggle');
       assert.isOk(toggle);
     });
 
     test('one unimportant message is hidden initially', () => {
-      const displayedMsgs = dom(element.root).querySelectorAll('gr-message');
+      const displayedMsgs = element.root.querySelectorAll('gr-message');
       assert.equal(displayedMsgs.length, 2);
     });
 
     test('unimportant messages hidden after toggle', () => {
       element._showAllActivity = true;
-      const toggle = dom(element.root).querySelector('.showAllActivityToggle');
+      const toggle = element.root.querySelector('.showAllActivityToggle');
       assert.isOk(toggle);
       MockInteractions.tap(toggle);
       flushAsynchronousOperations();
-      const displayedMsgs = dom(element.root).querySelectorAll('gr-message');
+      const displayedMsgs = element.root.querySelectorAll('gr-message');
       assert.equal(displayedMsgs.length, 2);
     });
 
     test('unimportant messages shown after toggle', () => {
       element._showAllActivity = false;
-      const toggle = dom(element.root).querySelector('.showAllActivityToggle');
+      const toggle = element.root.querySelector('.showAllActivityToggle');
       assert.isOk(toggle);
       MockInteractions.tap(toggle);
       flushAsynchronousOperations();
-      const displayedMsgs = dom(element.root).querySelectorAll('gr-message');
+      const displayedMsgs = element.root.querySelectorAll('gr-message');
       assert.equal(displayedMsgs.length, 3);
     });
 
diff --git a/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.js b/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.js
index 6c8a29d..521945f 100644
--- a/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.js
+++ b/polygerrit-ui/app/elements/change/gr-reviewer-list/gr-reviewer-list_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-reviewer-list.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-reviewer-list');
 
@@ -99,7 +98,7 @@
     };
     flushAsynchronousOperations();
     const chips =
-        dom(element.root).querySelectorAll('gr-account-chip');
+        element.root.querySelectorAll('gr-account-chip');
     assert.equal(chips.length, 4);
 
     for (const el of Array.from(chips)) {
diff --git a/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager_test.js b/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager_test.js
index b527786..a4f8815 100644
--- a/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager_test.js
+++ b/polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-error-manager.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {_testOnly_initGerritPluginApi} from '../../shared/gr-js-api-interface/gr-gerrit.js';
 import {__testOnly_ErrorType} from './gr-error-manager.js';
 
@@ -271,9 +270,9 @@
       let toast = toastSpy.lastCall.returnValue;
       assert.isOk(toast);
       assert.include(
-          dom(toast.root).textContent, 'Credentials expired.');
+          toast.root.textContent, 'Credentials expired.');
       assert.include(
-          dom(toast.root).textContent, 'Refresh credentials');
+          toast.root.textContent, 'Refresh credentials');
 
       // noInteractionOverlay
       const noInteractionOverlay = element.$.noInteractionOverlay;
@@ -306,7 +305,7 @@
       toast = toastSpy.lastCall.returnValue;
       assert.isOk(toast);
       assert.include(
-          dom(toast.root).textContent, 'Credentials refreshed');
+          toast.root.textContent, 'Credentials refreshed');
 
       // close overlay
       assert.isTrue(noInteractionOverlay.close.called);
@@ -326,7 +325,7 @@
       let toast = toastSpy.lastCall.returnValue;
       assert.isOk(toast);
       assert.include(
-          dom(toast.root).textContent, 'test reload');
+          toast.root.textContent, 'test reload');
 
       // fake auth
       window.fetch.returns(Promise.resolve({status: 403}));
@@ -347,9 +346,9 @@
       // toast
       toast = toastSpy.lastCall.returnValue;
       assert.include(
-          dom(toast.root).textContent, 'Credentials expired.');
+          toast.root.textContent, 'Credentials expired.');
       assert.include(
-          dom(toast.root).textContent, 'Refresh credentials');
+          toast.root.textContent, 'Refresh credentials');
     });
 
     test('regular toast should dismiss regular toast', () => {
@@ -365,7 +364,7 @@
       let toast = toastSpy.lastCall.returnValue;
       assert.isOk(toast);
       assert.include(
-          dom(toast.root).textContent, 'test reload');
+          toast.root.textContent, 'test reload');
 
       // new alert
       element.dispatchEvent(
@@ -375,7 +374,7 @@
           }));
 
       toast = toastSpy.lastCall.returnValue;
-      assert.include(dom(toast.root).textContent, 'second-test');
+      assert.include(toast.root.textContent, 'second-test');
     });
 
     test('regular toast should not dismiss auth toast', done => {
@@ -399,9 +398,9 @@
         flush(() => {
           let toast = toastSpy.lastCall.returnValue;
           assert.include(
-              dom(toast.root).textContent, 'Credentials expired.');
+              toast.root.textContent, 'Credentials expired.');
           assert.include(
-              dom(toast.root).textContent, 'Refresh credentials');
+              toast.root.textContent, 'Refresh credentials');
 
           // fake an alert
           element.dispatchEvent(
@@ -415,7 +414,7 @@
             toast = toastSpy.lastCall.returnValue;
             assert.isOk(toast);
             assert.include(
-                dom(toast.root).textContent, 'Credentials expired.');
+                toast.root.textContent, 'Credentials expired.');
             done();
           });
         });
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-element_test.js b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-element_test.js
index cf31033..9eafda2 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-element_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-element_test.js
@@ -22,7 +22,7 @@
 import {getMockDiffResponse} from '../../../test/mocks/diff-response.js';
 import './gr-diff-builder-element.js';
 import {stubBaseUrl} from '../../../test/test-utils.js';
-import {dom, flush} from '@polymer/polymer/lib/legacy/polymer.dom.js';
+import {flush} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GrAnnotation} from '../gr-diff-highlight/gr-annotation.js';
 import {GrDiffLine, GrDiffLineType} from '../gr-diff/gr-diff-line.js';
 import {GrDiffGroup, GrDiffGroupType} from '../gr-diff/gr-diff-group.js';
@@ -102,7 +102,7 @@
       const buttons = td.querySelectorAll('gr-button.showContext');
 
       assert.equal(buttons.length, 1);
-      assert.equal(dom(buttons[0]).textContent, 'Show 10 common lines');
+      assert.equal(buttons[0].textContent, 'Show 10 common lines');
     });
 
     test('context control at the top', () => {
@@ -112,8 +112,8 @@
       const buttons = td.querySelectorAll('gr-button.showContext');
 
       assert.equal(buttons.length, 2);
-      assert.equal(dom(buttons[0]).textContent, 'Show 20 common lines');
-      assert.equal(dom(buttons[1]).textContent, '+10 below');
+      assert.equal(buttons[0].textContent, 'Show 20 common lines');
+      assert.equal(buttons[1].textContent, '+10 below');
     });
 
     test('context control in the middle', () => {
@@ -123,9 +123,9 @@
       const buttons = td.querySelectorAll('gr-button.showContext');
 
       assert.equal(buttons.length, 3);
-      assert.equal(dom(buttons[0]).textContent, '+10 above');
-      assert.equal(dom(buttons[1]).textContent, 'Show 20 common lines');
-      assert.equal(dom(buttons[2]).textContent, '+10 below');
+      assert.equal(buttons[0].textContent, '+10 above');
+      assert.equal(buttons[1].textContent, 'Show 20 common lines');
+      assert.equal(buttons[2].textContent, '+10 below');
     });
 
     test('context control at the top', () => {
@@ -135,8 +135,8 @@
       const buttons = td.querySelectorAll('gr-button.showContext');
 
       assert.equal(buttons.length, 2);
-      assert.equal(dom(buttons[0]).textContent, '+10 above');
-      assert.equal(dom(buttons[1]).textContent, 'Show 20 common lines');
+      assert.equal(buttons[0].textContent, '+10 above');
+      assert.equal(buttons[1].textContent, 'Show 20 common lines');
     });
   });
 
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-cursor/gr-diff-cursor_test.js b/polygerrit-ui/app/elements/diff/gr-diff-cursor/gr-diff-cursor_test.js
index 4ca75eb..a242f2f 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-cursor/gr-diff-cursor_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-cursor/gr-diff-cursor_test.js
@@ -20,7 +20,6 @@
 import './gr-diff-cursor.js';
 import '../../shared/gr-rest-api-interface/gr-rest-api-interface.js';
 import {getMockDiffResponse} from '../../../test/mocks/diff-response.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {html} from '@polymer/polymer/lib/utils/html-tag.js';
 
 const basicFixture = fixtureFromTemplate(html`
@@ -85,7 +84,7 @@
   });
 
   test('moveToLastChunk', () => {
-    const chunks = Array.from(dom(diffElement.root).querySelectorAll(
+    const chunks = Array.from(diffElement.root.querySelectorAll(
         '.section.delta'));
     assert.isAbove(chunks.length, 1);
     assert.equal(chunks.indexOf(cursorElement.diffRow.parentElement), 0);
@@ -201,7 +200,7 @@
   });
 
   test('chunk skip functionality', () => {
-    const chunks = dom(diffElement.root).querySelectorAll(
+    const chunks = diffElement.root.querySelectorAll(
         '.section.delta');
     const indexOfChunk = function(chunk) {
       return Array.prototype.indexOf.call(chunks, chunk);
@@ -387,7 +386,7 @@
 
   test('_findRowByNumberAndFile', () => {
     // Get the first ab row after the first chunk.
-    const row = dom(diffElement.root).querySelectorAll('tr')[8];
+    const row = diffElement.root.querySelectorAll('tr')[8];
 
     // It should be line 8 on the right, but line 5 on the left.
     assert.equal(cursorElement._findRowByNumberAndFile(8, 'right'), row);
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.js b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.js
index e4b70bb..5a36917 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host.js
@@ -19,7 +19,6 @@
 import '../../shared/gr-js-api-interface/gr-js-api-interface.js';
 import '../gr-diff/gr-diff.js';
 import '../gr-syntax-layer/gr-syntax-layer.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
 import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
@@ -524,7 +523,7 @@
    */
   getThreadEls() {
     return Array.from(
-        dom(this.$.diff).querySelectorAll('.comment-thread'));
+        this.$.diff.querySelectorAll('.comment-thread'));
   }
 
   /** @param {HTMLElement} el */
@@ -793,13 +792,13 @@
   }
 
   _attachThreadElement(threadEl) {
-    dom(this.$.diff).appendChild(threadEl);
+    this.$.diff.appendChild(threadEl);
   }
 
   _clearThreads() {
     for (const threadEl of this.getThreadEls()) {
-      const parent = dom(threadEl).parentNode;
-      dom(parent).removeChild(threadEl);
+      const parent = threadEl.parentNode;
+      parent.removeChild(threadEl);
     }
   }
 
@@ -833,8 +832,8 @@
     const threadDiscardListener = e => {
       const threadEl = /** @type {!Node} */ (e.currentTarget);
 
-      const parent = dom(threadEl).parentNode;
-      dom(parent).removeChild(threadEl);
+      const parent = threadEl.parentNode;
+      parent.removeChild(threadEl);
 
       threadEl.removeEventListener('root-id-changed', rootIdChangedListener);
       threadEl.removeEventListener('thread-discard', threadDiscardListener);
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_test.js b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_test.js
index d0e6b62..37d8819 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-host/gr-diff-host_test.js
@@ -270,7 +270,7 @@
     assert.equal(threadEls[0].rootId, 4711);
     assert.equal(threadEls[1].rootId, 42);
     for (const threadEl of threadEls) {
-      dom(element).appendChild(threadEl);
+      element.appendChild(threadEl);
     }
 
     threadEls[0].dispatchEvent(
@@ -904,7 +904,7 @@
   test('getThreadEls() returns .comment-threads', () => {
     const threadEl = document.createElement('div');
     threadEl.className = 'comment-thread';
-    dom(element.$.diff).appendChild(threadEl);
+    element.$.diff.appendChild(threadEl);
     assert.deepEqual(element.getThreadEls(), [threadEl]);
   });
 
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-selection/gr-diff-selection.js b/polygerrit-ui/app/elements/diff/gr-diff-selection/gr-diff-selection.js
index 6ef8697..ead6fa4 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-selection/gr-diff-selection.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-selection/gr-diff-selection.js
@@ -83,7 +83,7 @@
   get diffBuilder() {
     if (!this._cachedDiffBuilder) {
       this._cachedDiffBuilder =
-          dom(this).querySelector('gr-diff-builder');
+          this.querySelector('gr-diff-builder');
     }
     return this._cachedDiffBuilder;
   }
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js
index dbca17c..01cfe48 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-diff-view.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
 import {ChangeStatus} from '../../../constants/constants.js';
 import {generateChange, TestKeyboardShortcutBinder} from '../../../test/test-utils';
@@ -771,7 +770,7 @@
       const overlayOpenStub = sinon.stub(element.$.diffPreferencesDialog,
           'open');
       const prefsButton =
-          dom(element.root).querySelector('.prefsButton');
+          element.root.querySelector('.prefsButton');
 
       MockInteractions.tap(prefsButton);
 
@@ -895,7 +894,7 @@
             ['chell.go', 'glados.txt', 'wheatley.md']);
         element._path = 'glados.txt';
         flushAsynchronousOperations();
-        const linkEls = dom(element.root).querySelectorAll('.navLink');
+        const linkEls = element.root.querySelectorAll('.navLink');
         assert.equal(linkEls.length, 3);
         assert.equal(linkEls[0].getAttribute('href'), '42-chell.go-10-PARENT');
         assert.equal(linkEls[1].getAttribute('href'), '42-undefined-undefined');
@@ -938,7 +937,7 @@
             ['chell.go', 'glados.txt', 'wheatley.md']);
         element._path = 'glados.txt';
         flushAsynchronousOperations();
-        const linkEls = dom(element.root).querySelectorAll('.navLink');
+        const linkEls = element.root.querySelectorAll('.navLink');
         assert.equal(linkEls.length, 3);
         assert.equal(linkEls[0].getAttribute('href'), '42-chell.go-10-5');
         assert.equal(linkEls[1].getAttribute('href'), '42-10-5');
@@ -1030,7 +1029,7 @@
       element._prefs = {};
       flushAsynchronousOperations();
 
-      const commitMsg = dom(element.root).querySelector(
+      const commitMsg = element.root.querySelector(
           'input[type="checkbox"]');
 
       assert.isTrue(commitMsg.checked);
diff --git a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.js b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.js
index beba588..b3f6a25 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.js
@@ -434,7 +434,7 @@
     }
 
     return Array.from(
-        dom(this.root).querySelectorAll(':not(.contextControl) > .diff-row'))
+        this.root.querySelectorAll(':not(.contextControl) > .diff-row'))
         .filter(tr => tr.querySelector('button'));
   }
 
@@ -849,7 +849,7 @@
         // are ignored.
         const slot = document.createElement('slot');
         slot.name = threadEl.getAttribute('slot');
-        dom(threadGroupEl).appendChild(slot);
+        threadGroupEl.appendChild(slot);
         lastEl = threadEl;
       }
 
diff --git a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.js b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.js
index 02f09a8..901bd98 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff_test.js
@@ -19,7 +19,7 @@
 import '../../shared/gr-rest-api-interface/gr-rest-api-interface.js';
 import {getMockDiffResponse} from '../../../test/mocks/diff-response.js';
 import './gr-diff.js';
-import {dom, flush} from '@polymer/polymer/lib/legacy/polymer.dom.js';
+import {flush} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GrDiffBuilderImage} from '../gr-diff-builder/gr-diff-builder-image.js';
 import {getComputedStyleValue} from '../../../utils/dom-util.js';
 import {_setHiddenScroll} from '../../../scripts/hiddenscroll.js';
@@ -951,7 +951,7 @@
       threadEl.className = 'comment-thread';
       threadEl.setAttribute('comment-side', 'right');
       threadEl.setAttribute('line-num', 3);
-      dom(element).appendChild(threadEl);
+      element.appendChild(threadEl);
       flush();
 
       element._renderDiffTable();
@@ -966,7 +966,7 @@
       const threadEl = document.createElement('div');
       threadEl.className = 'comment-thread';
       threadEl.setAttribute('comment-side', 'left');
-      dom(element).appendChild(threadEl);
+      element.appendChild(threadEl);
       flush();
 
       element._renderDiffTable();
diff --git a/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls.js b/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls.js
index 86a2e61..c36dcb4 100644
--- a/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls.js
+++ b/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls.js
@@ -171,7 +171,7 @@
   }
 
   _hideAllDialogs() {
-    const dialogs = dom(this.root).querySelectorAll('.dialog');
+    const dialogs = this.root.querySelectorAll('.dialog');
     for (const dialog of dialogs) { this._closeDialog(dialog); }
   }
 
diff --git a/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_test.js b/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_test.js
index 8269b81..aa3c551 100644
--- a/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_test.js
+++ b/polygerrit-ui/app/elements/edit/gr-edit-controls/gr-edit-controls_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-edit-controls.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
 import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
 
@@ -45,7 +44,7 @@
     // We take 1 away from the total found, due to an extra button being
     // added for the file uploads (browse).
     assert.equal(
-        dom(element.root).querySelectorAll('gr-button').length - 1,
+        element.root.querySelectorAll('gr-button').length - 1,
         element._actions.length);
   });
 
diff --git a/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator.js b/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator.js
index b26e565..058f022 100644
--- a/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator.js
+++ b/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator.js
@@ -15,7 +15,6 @@
  * limitations under the License.
  */
 import '../../shared/gr-js-api-interface/gr-js-api-interface.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
 import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
@@ -71,7 +70,7 @@
             el => el.nodeName !== 'GR-ENDPOINT-PARAM'))
         .then(el => {
           const slotEl = slot ?
-            dom(this).querySelector(`gr-endpoint-slot[name=${slot}]`) :
+            this.querySelector(`gr-endpoint-slot[name=${slot}]`) :
             null;
           if (slot && slotEl) {
             slotEl.parentNode.insertBefore(el, slotEl.nextSibling);
@@ -93,7 +92,7 @@
 
   _getEndpointParams() {
     return Array.from(
-        dom(this).querySelectorAll('gr-endpoint-param'));
+        this.querySelectorAll('gr-endpoint-param'));
   }
 
   /**
@@ -130,7 +129,7 @@
   }
 
   _appendChild(el) {
-    return dom(this.root).appendChild(el);
+    return this.root.appendChild(el);
   }
 
   _initModule({moduleName, plugin, type, domHook, slot}) {
diff --git a/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator_test.js b/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator_test.js
index ba9220b..d7d53cf 100644
--- a/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator_test.js
+++ b/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator_test.js
@@ -19,7 +19,6 @@
 import './gr-endpoint-decorator.js';
 import '../gr-endpoint-param/gr-endpoint-param.js';
 import '../gr-endpoint-slot/gr-endpoint-slot.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {html} from '@polymer/polymer/lib/utils/html-tag.js';
 import {resetPlugins} from '../../../test/test-utils.js';
 import {pluginLoader} from '../../shared/gr-js-api-interface/gr-plugin-loader.js';
@@ -92,7 +91,7 @@
   test('decoration', () => {
     const element =
         container.querySelector('gr-endpoint-decorator[name="first"]');
-    const modules = Array.from(dom(element.root).children).filter(
+    const modules = Array.from(element.root.children).filter(
         element => element.nodeName === 'SOME-MODULE');
     assert.equal(modules.length, 1);
     const [module] = modules;
@@ -111,7 +110,7 @@
   test('decoration with slot', () => {
     const element =
         container.querySelector('gr-endpoint-decorator[name="first"]');
-    const modules = [...dom(element).querySelectorAll('some-module-2')];
+    const modules = [...element.querySelectorAll('some-module-2')];
     assert.equal(modules.length, 1);
     const [module] = modules;
     assert.isOk(module);
@@ -129,7 +128,7 @@
   test('replacement', () => {
     const element =
         container.querySelector('gr-endpoint-decorator[name="second"]');
-    const module = Array.from(dom(element.root).children).find(
+    const module = Array.from(element.root.children).find(
         element => element.nodeName === 'OTHER-MODULE');
     assert.isOk(module);
     assert.equal(module['someparam'], 'foofoo');
@@ -148,7 +147,7 @@
     flush(() => {
       const element =
           container.querySelector('gr-endpoint-decorator[name="banana"]');
-      const module = Array.from(dom(element.root).children).find(
+      const module = Array.from(element.root.children).find(
           element => element.nodeName === 'NOOB-NOOB');
       assert.isOk(module);
       done();
@@ -161,10 +160,10 @@
     flush(() => {
       const element =
           container.querySelector('gr-endpoint-decorator[name="banana"]');
-      const module1 = Array.from(dom(element.root).children).find(
+      const module1 = Array.from(element.root.children).find(
           element => element.nodeName === 'MOD-ONE');
       assert.isOk(module1);
-      const module2 = Array.from(dom(element.root).children).find(
+      const module2 = Array.from(element.root.children).find(
           element => element.nodeName === 'MOD-TWO');
       assert.isOk(module2);
       done();
@@ -174,18 +173,18 @@
   test('late param setup', done => {
     const element =
         container.querySelector('gr-endpoint-decorator[name="banana"]');
-    const param = dom(element).querySelector('gr-endpoint-param');
+    const param = element.querySelector('gr-endpoint-param');
     param['value'] = undefined;
     plugin.registerCustomComponent('banana', 'noob-noob');
     flush(() => {
-      let module = Array.from(dom(element.root).children).find(
+      let module = Array.from(element.root.children).find(
           element => element.nodeName === 'NOOB-NOOB');
       // Module waits for param to be defined.
       assert.isNotOk(module);
       const value = {abc: 'def'};
       param.value = value;
       flush(() => {
-        module = Array.from(dom(element.root).children).find(
+        module = Array.from(element.root.children).find(
             element => element.nodeName === 'NOOB-NOOB');
         assert.isOk(module);
         assert.strictEqual(module['someParam'], value);
@@ -197,13 +196,13 @@
   test('param is bound', done => {
     const element =
         container.querySelector('gr-endpoint-decorator[name="banana"]');
-    const param = dom(element).querySelector('gr-endpoint-param');
+    const param = element.querySelector('gr-endpoint-param');
     const value1 = {abc: 'def'};
     const value2 = {def: 'abc'};
     param.value = value1;
     plugin.registerCustomComponent('banana', 'noob-noob');
     flush(() => {
-      const module = Array.from(dom(element.root).children).find(
+      const module = Array.from(element.root.children).find(
           element => element.nodeName === 'NOOB-NOOB');
       assert.strictEqual(module['someParam'], value1);
       param.value = value2;
diff --git a/polygerrit-ui/app/elements/plugins/gr-popup-interface/gr-popup-interface.js b/polygerrit-ui/app/elements/plugins/gr-popup-interface/gr-popup-interface.js
index e2dd047..2a0e224 100644
--- a/polygerrit-ui/app/elements/plugins/gr-popup-interface/gr-popup-interface.js
+++ b/polygerrit-ui/app/elements/plugins/gr-popup-interface/gr-popup-interface.js
@@ -52,11 +52,11 @@
             .then(hookEl => {
               const popup = document.createElement('gr-plugin-popup');
               if (this._moduleName) {
-                const el = dom(popup).appendChild(
+                const el = popup.appendChild(
                     document.createElement(this._moduleName));
                 el.plugin = this.plugin;
               }
-              this._popup = dom(hookEl).appendChild(popup);
+              this._popup = hookEl.appendChild(popup);
               flush();
               return this._popup.open().then(() => this);
             });
diff --git a/polygerrit-ui/app/elements/plugins/gr-popup-interface/gr-popup-interface_test.js b/polygerrit-ui/app/elements/plugins/gr-popup-interface/gr-popup-interface_test.js
index 9312332..e59d35c 100644
--- a/polygerrit-ui/app/elements/plugins/gr-popup-interface/gr-popup-interface_test.js
+++ b/polygerrit-ui/app/elements/plugins/gr-popup-interface/gr-popup-interface_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import '../../shared/gr-js-api-interface/gr-js-api-interface.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GrPopupInterface} from './gr-popup-interface.js';
 import {_testOnly_initGerritPluginApi} from '../../shared/gr-js-api-interface/gr-gerrit.js';
 import {html} from '@polymer/polymer/lib/utils/html-tag.js';
@@ -89,7 +88,7 @@
     test('open', done => {
       instance.open().then(api => {
         assert.isNotNull(
-            dom(container).querySelector('gr-user-test-popup'));
+            container.querySelector('gr-user-test-popup'));
         done();
       });
     });
diff --git a/polygerrit-ui/app/elements/plugins/gr-styles-api/gr-styles-api_test.js b/polygerrit-ui/app/elements/plugins/gr-styles-api/gr-styles-api_test.js
index 5ccda28..94d8b82 100644
--- a/polygerrit-ui/app/elements/plugins/gr-styles-api/gr-styles-api_test.js
+++ b/polygerrit-ui/app/elements/plugins/gr-styles-api/gr-styles-api_test.js
@@ -18,7 +18,6 @@
 import '../../../test/common-test-setup-karma.js';
 import '../../shared/gr-js-api-interface/gr-js-api-interface.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {pluginLoader} from '../../shared/gr-js-api-interface/gr-plugin-loader.js';
 import {_testOnly_initGerritPluginApi} from '../../shared/gr-js-api-interface/gr-gerrit.js';
 import {html} from '@polymer/polymer/lib/utils/html-tag.js';
@@ -96,9 +95,9 @@
       const element1 = document.createElement('div');
       const element2 = document.createElement('div');
       const element3 = document.createElement('div');
-      dom(parentElement).appendChild(element1);
-      dom(parentElement).appendChild(element2);
-      dom(element2).appendChild(element3);
+      parentElement.appendChild(element1);
+      parentElement.appendChild(element2);
+      element2.appendChild(element3);
 
       if (parentElement === document.body) {
         elementsToRemove.push(element1);
@@ -116,7 +115,7 @@
 
     test('getClassName  - elements inside polymer element', () => {
       const polymerElement = document.createElement('gr-style-test-element');
-      dom(document.body).appendChild(polymerElement);
+      document.body.appendChild(polymerElement);
       elementsToRemove.push(polymerElement);
       const contentElements = createNestedElements(polymerElement.$.wrapper);
 
@@ -150,7 +149,7 @@
 
     test('apply - elements inside polymer element', () => {
       const polymerElement = document.createElement('gr-style-test-element');
-      dom(document.body).appendChild(polymerElement);
+      document.body.appendChild(polymerElement);
       elementsToRemove.push(polymerElement);
       const contentElements = createNestedElements(polymerElement.$.wrapper);
 
diff --git a/polygerrit-ui/app/elements/settings/gr-account-info/gr-account-info_test.js b/polygerrit-ui/app/elements/settings/gr-account-info/gr-account-info_test.js
index 4a62bab..c152ad2 100644
--- a/polygerrit-ui/app/elements/settings/gr-account-info/gr-account-info_test.js
+++ b/polygerrit-ui/app/elements/settings/gr-account-info/gr-account-info_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-account-info.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-account-info');
 
@@ -27,7 +26,7 @@
   let config;
 
   function valueOf(title) {
-    const sections = dom(element.root).querySelectorAll('section');
+    const sections = element.root.querySelectorAll('section');
     let titleEl;
     for (let i = 0; i < sections.length; i++) {
       titleEl = sections[i].querySelector('.title');
diff --git a/polygerrit-ui/app/elements/settings/gr-agreements-list/gr-agreements-list_test.js b/polygerrit-ui/app/elements/settings/gr-agreements-list/gr-agreements-list_test.js
index ed0bdb3..0c785aa 100644
--- a/polygerrit-ui/app/elements/settings/gr-agreements-list/gr-agreements-list_test.js
+++ b/polygerrit-ui/app/elements/settings/gr-agreements-list/gr-agreements-list_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-agreements-list.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-agreements-list');
 
@@ -42,7 +41,7 @@
   });
 
   test('renders', () => {
-    const rows = dom(element.root).querySelectorAll('tbody tr');
+    const rows = element.root.querySelectorAll('tbody tr');
 
     assert.equal(rows.length, 1);
 
diff --git a/polygerrit-ui/app/elements/settings/gr-gpg-editor/gr-gpg-editor_test.js b/polygerrit-ui/app/elements/settings/gr-gpg-editor/gr-gpg-editor_test.js
index 5281e17..2792176 100644
--- a/polygerrit-ui/app/elements/settings/gr-gpg-editor/gr-gpg-editor_test.js
+++ b/polygerrit-ui/app/elements/settings/gr-gpg-editor/gr-gpg-editor_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-gpg-editor.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-gpg-editor');
 
@@ -61,7 +60,7 @@
   });
 
   test('renders', () => {
-    const rows = dom(element.root).querySelectorAll('tbody tr');
+    const rows = element.root.querySelectorAll('tbody tr');
 
     assert.equal(rows.length, 2);
 
@@ -82,7 +81,7 @@
     assert.isFalse(element.hasUnsavedChanges);
 
     // Get the delete button for the last row.
-    const button = dom(element.root).querySelector(
+    const button = element.root.querySelector(
         'tbody tr:last-of-type td:nth-child(6) gr-button');
 
     MockInteractions.tap(button);
@@ -106,7 +105,7 @@
     const openSpy = sinon.spy(element.$.viewKeyOverlay, 'open');
 
     // Get the show button for the last row.
-    const button = dom(element.root).querySelector(
+    const button = element.root.querySelector(
         'tbody tr:last-of-type td:nth-child(4) gr-button');
 
     MockInteractions.tap(button);
diff --git a/polygerrit-ui/app/elements/settings/gr-group-list/gr-group-list_test.js b/polygerrit-ui/app/elements/settings/gr-group-list/gr-group-list_test.js
index bfd42ac..e19345a 100644
--- a/polygerrit-ui/app/elements/settings/gr-group-list/gr-group-list_test.js
+++ b/polygerrit-ui/app/elements/settings/gr-group-list/gr-group-list_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-group-list.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
 
 const basicFixture = fixtureFromElement('gr-group-list');
@@ -57,7 +56,7 @@
 
   test('renders', () => {
     const rows = Array.from(
-        dom(element.root).querySelectorAll('tbody tr'));
+        element.root.querySelectorAll('tbody tr'));
 
     assert.equal(rows.length, 3);
 
diff --git a/polygerrit-ui/app/elements/settings/gr-identities/gr-identities_test.js b/polygerrit-ui/app/elements/settings/gr-identities/gr-identities_test.js
index e01c58b..8af5bd0 100644
--- a/polygerrit-ui/app/elements/settings/gr-identities/gr-identities_test.js
+++ b/polygerrit-ui/app/elements/settings/gr-identities/gr-identities_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-identities.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-identities');
 
@@ -52,7 +51,7 @@
 
   test('renders', () => {
     const rows = Array.from(
-        dom(element.root).querySelectorAll('tbody tr'));
+        element.root.querySelectorAll('tbody tr'));
 
     assert.equal(rows.length, 2);
 
@@ -66,7 +65,7 @@
 
   test('renders email', () => {
     const rows = Array.from(
-        dom(element.root).querySelectorAll('tbody tr'));
+        element.root.querySelectorAll('tbody tr'));
 
     assert.equal(rows.length, 2);
 
@@ -101,7 +100,7 @@
 
   test('_handleDeleteItem opens modal', () => {
     const deleteBtn =
-        dom(element.root).querySelector('.deleteButton');
+        element.root.querySelector('.deleteButton');
     const deleteItem = sinon.stub(element, '_handleDeleteItem');
     MockInteractions.tap(deleteBtn);
     assert.isTrue(deleteItem.called);
diff --git a/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view_test.js b/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view_test.js
index c0ec344..1929f4e 100644
--- a/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view_test.js
+++ b/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view_test.js
@@ -18,7 +18,7 @@
 import '../../../test/common-test-setup-karma.js';
 import {getComputedStyleValue} from '../../../utils/dom-util.js';
 import './gr-settings-view.js';
-import {flush, dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
+import {flush} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-settings-view');
 const blankFixture = fixtureFromElement('div');
@@ -249,14 +249,14 @@
     assertMenusEqual(element._localMenu, preferences.my);
 
     const menu = element.$.menu.firstElementChild;
-    let tableRows = dom(menu.root).querySelectorAll('tbody tr');
+    let tableRows = menu.root.querySelectorAll('tbody tr');
     assert.equal(tableRows.length, preferences.my.length);
 
     // Add a menu item:
     element.splice('_localMenu', 1, 0, {name: 'foo', url: 'bar', target: ''});
     flush();
 
-    tableRows = dom(menu.root).querySelectorAll('tbody tr');
+    tableRows = menu.root.querySelectorAll('tbody tr');
     assert.equal(tableRows.length, preferences.my.length + 1);
 
     assert.isTrue(element._menuChanged);
diff --git a/polygerrit-ui/app/elements/settings/gr-ssh-editor/gr-ssh-editor_test.js b/polygerrit-ui/app/elements/settings/gr-ssh-editor/gr-ssh-editor_test.js
index d4a0372..29ba6929 100644
--- a/polygerrit-ui/app/elements/settings/gr-ssh-editor/gr-ssh-editor_test.js
+++ b/polygerrit-ui/app/elements/settings/gr-ssh-editor/gr-ssh-editor_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-ssh-editor.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-ssh-editor');
 
@@ -52,7 +51,7 @@
   });
 
   test('renders', () => {
-    const rows = dom(element.root).querySelectorAll('tbody tr');
+    const rows = element.root.querySelectorAll('tbody tr');
 
     assert.equal(rows.length, 2);
 
@@ -73,7 +72,7 @@
     assert.isFalse(element.hasUnsavedChanges);
 
     // Get the delete button for the last row.
-    const button = dom(element.root).querySelector(
+    const button = element.root.querySelector(
         'tbody tr:last-of-type td:nth-child(5) gr-button');
 
     MockInteractions.tap(button);
@@ -97,7 +96,7 @@
     const openSpy = sinon.spy(element.$.viewKeyOverlay, 'open');
 
     // Get the show button for the last row.
-    const button = dom(element.root).querySelector(
+    const button = element.root.querySelector(
         'tbody tr:last-of-type td:nth-child(3) gr-button');
 
     MockInteractions.tap(button);
diff --git a/polygerrit-ui/app/elements/settings/gr-watched-projects-editor/gr-watched-projects-editor.js b/polygerrit-ui/app/elements/settings/gr-watched-projects-editor/gr-watched-projects-editor.js
index 2af1bc7..fd48dd2 100644
--- a/polygerrit-ui/app/elements/settings/gr-watched-projects-editor/gr-watched-projects-editor.js
+++ b/polygerrit-ui/app/elements/settings/gr-watched-projects-editor/gr-watched-projects-editor.js
@@ -184,7 +184,7 @@
   }
 
   _handleNotifCellClick(e) {
-    const checkbox = dom(e.target).querySelector('input');
+    const checkbox = e.target.querySelector('input');
     if (checkbox) { checkbox.click(); }
   }
 }
diff --git a/polygerrit-ui/app/elements/shared/gr-account-list/gr-account-list.js b/polygerrit-ui/app/elements/shared/gr-account-list/gr-account-list.js
index 0cf9af2..5f1f9b0 100644
--- a/polygerrit-ui/app/elements/shared/gr-account-list/gr-account-list.js
+++ b/polygerrit-ui/app/elements/shared/gr-account-list/gr-account-list.js
@@ -17,7 +17,6 @@
 import '../gr-account-chip/gr-account-chip.js';
 import '../gr-account-entry/gr-account-entry.js';
 import '../../../styles/shared-styles.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
 import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
@@ -132,7 +131,7 @@
 
   get accountChips() {
     return Array.from(
-        dom(this.root).querySelectorAll('gr-account-chip'));
+        this.root.querySelectorAll('gr-account-chip'));
   }
 
   get focusStart() {
diff --git a/polygerrit-ui/app/elements/shared/gr-account-list/gr-account-list_test.js b/polygerrit-ui/app/elements/shared/gr-account-list/gr-account-list_test.js
index b26f468..e1a5e1a 100644
--- a/polygerrit-ui/app/elements/shared/gr-account-list/gr-account-list_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-account-list/gr-account-list_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-account-list.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-account-list');
 
@@ -54,7 +53,7 @@
   let suggestionsProvider;
 
   function getChips() {
-    return dom(element.root).querySelectorAll('gr-account-chip');
+    return element.root.querySelectorAll('gr-account-chip');
   }
 
   setup(() => {
diff --git a/polygerrit-ui/app/elements/shared/gr-autocomplete/gr-autocomplete_test.js b/polygerrit-ui/app/elements/shared/gr-autocomplete/gr-autocomplete_test.js
index e9753c9..b5fed6b 100644
--- a/polygerrit-ui/app/elements/shared/gr-autocomplete/gr-autocomplete_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-autocomplete/gr-autocomplete_test.js
@@ -18,7 +18,7 @@
 import '../../../test/common-test-setup-karma.js';
 import './gr-autocomplete.js';
 import {html} from '@polymer/polymer/lib/utils/html-tag.js';
-import {dom, flush as flush$0} from '@polymer/polymer/lib/legacy/polymer.dom.js';
+import {flush as flush$0} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromTemplate(
     html`<gr-autocomplete no-debounce></gr-autocomplete>`);
@@ -57,7 +57,7 @@
     return promise.then(() => {
       assert.isFalse(element.$.suggestions.isHidden);
       const suggestions =
-          dom(element.$.suggestions.root).querySelectorAll('li');
+          element.$.suggestions.root.querySelectorAll('li');
       assert.equal(suggestions.length, 5);
 
       for (let i = 0; i < 5; i++) {
diff --git a/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread.js b/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread.js
index d6071a5..3b7dbfe 100644
--- a/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread.js
+++ b/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread.js
@@ -319,7 +319,7 @@
 
   _expandCollapseComments(actionIsCollapse) {
     const comments =
-        dom(this.root).querySelectorAll('gr-comment');
+        this.root.querySelectorAll('gr-comment');
     for (const comment of comments) {
       comment.collapsed = actionIsCollapse;
     }
@@ -437,7 +437,7 @@
   }
 
   _commentElWithDraftID(id) {
-    const els = dom(this.root).querySelectorAll('gr-comment');
+    const els = this.root.querySelectorAll('gr-comment');
     for (const el of els) {
       if (el.comment.id === id || el.comment.__draftID === id) {
         return el;
diff --git a/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread_test.js b/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread_test.js
index 2a9d0d5..ab93cb6 100644
--- a/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-comment-thread/gr-comment-thread_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-comment-thread.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
 import {SpecialFilePath} from '../../../constants/constants.js';
 
@@ -438,7 +437,7 @@
     const saveOrDiscardStub = sinon.stub();
     element.addEventListener('thread-changed', saveOrDiscardStub);
     const draftEl =
-        dom(element.root).querySelectorAll('gr-comment')[1];
+        element.root.querySelectorAll('gr-comment')[1];
     assert.ok(draftEl);
     draftEl.addEventListener('comment-discard', () => {
       const drafts = element.comments.filter(c => c.__draft == true);
@@ -471,7 +470,7 @@
         const saveOrDiscardStub = sinon.stub();
         element.addEventListener('thread-changed', saveOrDiscardStub);
         const draftEl =
-        dom(element.root).querySelectorAll('gr-comment')[0];
+        element.root.querySelectorAll('gr-comment')[0];
         assert.ok(draftEl);
         draftEl.addEventListener('comment-discard', () => {
           assert.equal(element.comments.length, 0);
@@ -554,7 +553,7 @@
     flushAsynchronousOperations();
 
     const draftEl =
-    dom(element.root).querySelectorAll('gr-comment')[1];
+    element.root.querySelectorAll('gr-comment')[1];
     assert.ok(draftEl);
     draftEl.addEventListener('comment-discard', () => {
       assert.isFalse(storageStub.called);
diff --git a/polygerrit-ui/app/elements/shared/gr-comment/gr-comment.js b/polygerrit-ui/app/elements/shared/gr-comment/gr-comment.js
index a53304e..6ba9d36 100644
--- a/polygerrit-ui/app/elements/shared/gr-comment/gr-comment.js
+++ b/polygerrit-ui/app/elements/shared/gr-comment/gr-comment.js
@@ -30,7 +30,7 @@
 import '../gr-tooltip-content/gr-tooltip-content.js';
 import '../gr-confirm-delete-comment-dialog/gr-confirm-delete-comment-dialog.js';
 import '../gr-account-label/gr-account-label.js';
-import {flush, dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
+import {flush} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
 import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
@@ -867,7 +867,7 @@
   }
 
   _openOverlay(overlay) {
-    dom(getRootElement()).appendChild(overlay);
+    getRootElement().appendChild(overlay);
     return overlay.open();
   }
 
@@ -877,7 +877,7 @@
   }
 
   _closeOverlay(overlay) {
-    dom(getRootElement()).removeChild(overlay);
+    getRootElement().removeChild(overlay);
     overlay.close();
   }
 
diff --git a/polygerrit-ui/app/elements/shared/gr-dropdown-list/gr-dropdown-list_test.js b/polygerrit-ui/app/elements/shared/gr-dropdown-list/gr-dropdown-list_test.js
index 8d7de0e..67dd097 100644
--- a/polygerrit-ui/app/elements/shared/gr-dropdown-list/gr-dropdown-list_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-dropdown-list/gr-dropdown-list_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-dropdown-list.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 
 const basicFixture = fixtureFromElement('gr-dropdown-list');
 
@@ -77,8 +76,8 @@
         .querySelector('paper-listbox').selected, element.value);
     assert.equal(element.text, 'Button Text 2');
     flush(() => {
-      const items = dom(element.root).querySelectorAll('paper-item');
-      const mobileItems = dom(element.root).querySelectorAll('option');
+      const items = element.root.querySelectorAll('paper-item');
+      const mobileItems = element.root.querySelectorAll('option');
       assert.equal(items.length, 3);
       assert.equal(mobileItems.length, 3);
 
@@ -89,11 +88,11 @@
       assert.isFalse(items[0].classList.contains('iron-selected'));
       assert.isFalse(mobileItems[0].selected);
 
-      assert.isNotOk(dom(items[0]).querySelector('gr-date-formatter'));
-      assert.isNotOk(dom(items[0]).querySelector('.bottomContent'));
+      assert.isNotOk(items[0].querySelector('gr-date-formatter'));
+      assert.isNotOk(items[0].querySelector('.bottomContent'));
       assert.equal(items[0].dataset.value, element.items[0].value);
       assert.equal(mobileItems[0].value, element.items[0].value);
-      assert.equal(dom(items[0]).querySelector('.topContent div')
+      assert.equal(items[0].querySelector('.topContent div')
           .innerText, element.items[0].text);
 
       // Since no mobile specific text, it should fall back to text.
@@ -106,11 +105,11 @@
       assert.isTrue(items[1].classList.contains('iron-selected'));
       assert.isTrue(mobileItems[1].selected);
 
-      assert.isNotOk(dom(items[1]).querySelector('gr-date-formatter'));
-      assert.isOk(dom(items[1]).querySelector('.bottomContent'));
+      assert.isNotOk(items[1].querySelector('gr-date-formatter'));
+      assert.isOk(items[1].querySelector('.bottomContent'));
       assert.equal(items[1].dataset.value, element.items[1].value);
       assert.equal(mobileItems[1].value, element.items[1].value);
-      assert.equal(dom(items[1]).querySelector('.topContent div')
+      assert.equal(items[1].querySelector('.topContent div')
           .innerText, element.items[1].text);
 
       // Since there is mobile specific text, it should that.
@@ -127,11 +126,11 @@
       assert.isFalse(items[2].classList.contains('iron-selected'));
       assert.isFalse(mobileItems[2].selected);
 
-      assert.isOk(dom(items[2]).querySelector('gr-date-formatter'));
-      assert.isOk(dom(items[2]).querySelector('.bottomContent'));
+      assert.isOk(items[2].querySelector('gr-date-formatter'));
+      assert.isOk(items[2].querySelector('.bottomContent'));
       assert.equal(items[2].dataset.value, element.items[2].value);
       assert.equal(mobileItems[2].value, element.items[2].value);
-      assert.equal(dom(items[2]).querySelector('.topContent div')
+      assert.equal(items[2].querySelector('.topContent div')
           .innerText, element.items[2].text);
 
       // Since there is mobile specific text, it should that.
diff --git a/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown_test.js b/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown_test.js
index d1d9164..b9070f3 100644
--- a/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown_test.js
@@ -95,7 +95,7 @@
   test('Top text exists and is bolded correctly', () => {
     element.topContent = [{text: 'User', bold: true}, {text: 'email'}];
     flushAsynchronousOperations();
-    const topItems = dom(element.root).querySelectorAll('.top-item');
+    const topItems = element.root.querySelectorAll('.top-item');
     assert.equal(topItems.length, 2);
     assert.isTrue(topItems[0].classList.contains('bold-text'));
     assert.isFalse(topItems[1].classList.contains('bold-text'));
diff --git a/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard_test.js b/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard_test.js
index accb6d5..cb48d02 100644
--- a/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-hovercard.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {html} from '@polymer/polymer/lib/utils/html-tag.js';
 
 const basicFixture = fixtureFromTemplate(html`
@@ -78,7 +77,7 @@
     assert.isFalse(element._isShowing);
     assert.isFalse(element.classList.contains('hovered'));
     assert.equal(style.display, 'none');
-    assert.notEqual(element.container, dom(element).parentNode);
+    assert.notEqual(element.container, element.parentNode);
   });
 
   test('show', () => {
@@ -107,7 +106,7 @@
   });
 
   test('card is scheduled to show on enter and hides on leave', done => {
-    const button = dom(document).querySelector('button');
+    const button = document.querySelector('button');
     assert.isFalse(element._isShowing);
     const enterHandler = event => {
       assert.isTrue(element._isScheduledToShow);
@@ -132,7 +131,7 @@
   });
 
   test('card should disappear on click', done => {
-    const button = dom(document).querySelector('button');
+    const button = document.querySelector('button');
     assert.isFalse(element._isShowing);
     const enterHandler = event => {
       assert.isTrue(element._isScheduledToShow);
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api_test.js b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api_test.js
index 231830bd..1ee81ac 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import '../../change/gr-change-actions/gr-change-actions.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {resetPlugins} from '../../../test/test-utils.js';
 import {pluginLoader} from './gr-plugin-loader.js';
 import {_testOnly_initGerritPluginApi} from './gr-gerrit.js';
@@ -145,7 +144,7 @@
           assert.equal(button.getAttribute('data-label'), 'Yo');
           assert.equal(button.getAttribute('title'), 'Yo hint');
           assert.isTrue(button.disabled);
-          assert.equal(dom(button).querySelector('iron-icon').icon,
+          assert.equal(button.querySelector('iron-icon').icon,
               'gr-icons:pupper');
           done();
         });
@@ -195,14 +194,14 @@
         changeActions.add(changeActions.ActionType.CHANGE, 'Squanch?');
       flush(() => {
         let buttons =
-          dom(element.root).querySelectorAll('[data-action-key]');
+          element.root.querySelectorAll('[data-action-key]');
         assert.equal(buttons[0].getAttribute('data-action-key'), key1);
         assert.equal(buttons[1].getAttribute('data-action-key'), key2);
         changeActions.setActionPriority(
             changeActions.ActionType.REVISION, key1, 10);
         flush(() => {
           buttons =
-            dom(element.root).querySelectorAll('[data-action-key]');
+            element.root.querySelectorAll('[data-action-key]');
           assert.equal(buttons[0].getAttribute('data-action-key'), key2);
           assert.equal(buttons[1].getAttribute('data-action-key'), key1);
           done();
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-action-context_test.js b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-action-context_test.js
index dde3c04..e93ffd2 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-action-context_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-action-context_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-js-api-interface.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GrPluginActionContext} from './gr-plugin-action-context.js';
 import {_testOnly_initGerritPluginApi} from './gr-gerrit.js';
 
@@ -79,7 +78,7 @@
       button = instance.button('foo', {onclick: clickStub});
       // If you don't attach a Polymer element to the DOM, then the ready()
       // callback will not be called and then e.g. this.$ is undefined.
-      dom(document.body).appendChild(button);
+      document.body.appendChild(button);
     });
 
     test('click', done => {
diff --git a/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info_test.js b/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info_test.js
index 5992eb2..0fbaba2 100644
--- a/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-label-info.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {isHidden} from '../../../test/test-utils.js';
 
 const basicFixture = fixtureFromElement('gr-label-info');
@@ -94,14 +93,14 @@
     test('valueless label rejected', () => {
       element.labelInfo = {rejected: {name: 'someone'}};
       flushAsynchronousOperations();
-      const labels = dom(element.root).querySelectorAll('gr-label');
+      const labels = element.root.querySelectorAll('gr-label');
       assert.isTrue(labels[0].classList.contains('negative'));
     });
 
     test('valueless label approved', () => {
       element.labelInfo = {approved: {name: 'someone'}};
       flushAsynchronousOperations();
-      const labels = dom(element.root).querySelectorAll('gr-label');
+      const labels = element.root.querySelectorAll('gr-label');
       assert.isTrue(labels[0].classList.contains('positive'));
     });
 
@@ -122,7 +121,7 @@
         },
       };
       flushAsynchronousOperations();
-      const labels = dom(element.root).querySelectorAll('gr-label');
+      const labels = element.root.querySelectorAll('gr-label');
       assert.isTrue(labels[0].classList.contains('max'));
       assert.isTrue(labels[1].classList.contains('positive'));
       assert.isTrue(labels[2].classList.contains('negative'));
@@ -142,7 +141,7 @@
         },
       };
       flushAsynchronousOperations();
-      const labels = dom(element.root).querySelectorAll('gr-label');
+      const labels = element.root.querySelectorAll('gr-label');
       assert.isTrue(labels[0].classList.contains('max'));
       assert.isTrue(labels[1].classList.contains('min'));
     });
@@ -160,7 +159,7 @@
         },
       };
       flushAsynchronousOperations();
-      const labels = dom(element.root).querySelectorAll('gr-label');
+      const labels = element.root.querySelectorAll('gr-label');
       assert.isTrue(labels[0].classList.contains('max'));
       assert.isTrue(labels[1].classList.contains('positive'));
     });
@@ -183,7 +182,7 @@
       };
       flushAsynchronousOperations();
       const chips =
-          dom(element.root).querySelectorAll('gr-account-link');
+          element.root.querySelectorAll('gr-account-link');
       assert.equal(chips[0].account._account_id, element.account._account_id);
     });
   });
diff --git a/polygerrit-ui/app/elements/shared/gr-lib-loader/gr-lib-loader.js b/polygerrit-ui/app/elements/shared/gr-lib-loader/gr-lib-loader.js
index 5762c39..2d1d3ac 100644
--- a/polygerrit-ui/app/elements/shared/gr-lib-loader/gr-lib-loader.js
+++ b/polygerrit-ui/app/elements/shared/gr-lib-loader/gr-lib-loader.js
@@ -15,7 +15,6 @@
  * limitations under the License.
  */
 import '../gr-js-api-interface/gr-js-api-interface.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
 import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
 import {PolymerElement} from '@polymer/polymer/polymer-element.js';
@@ -137,7 +136,7 @@
       script.setAttribute('src', src);
       script.onload = resolve;
       script.onerror = reject;
-      dom(document.head).appendChild(script);
+      document.head.appendChild(script);
     });
   }
 
diff --git a/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.js b/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.js
index a295d1a..a67fbc4 100644
--- a/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.js
+++ b/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.js
@@ -17,7 +17,6 @@
 
 import '../../../test/common-test-setup-karma.js';
 import './gr-linked-text.js';
-import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
 import {GerritNav} from '../../core/gr-navigation/gr-navigation.js';
 import {html} from '@polymer/polymer/lib/utils/html-tag.js';
 
@@ -342,7 +341,7 @@
       },
     };
     element.content = '- B: 123, 45';
-    const links = dom(element.root).querySelectorAll('a');
+    const links = element.root.querySelectorAll('a');
 
     assert.equal(links.length, 2);
     assert.equal(element.shadowRoot