Replace all usage of fire with CustomEvent

* Polymer.fire or Gerrit.FireBehavior.fire replaced with Polymer
recommended CustomEvent
* Remove non-required Gerrit.FireBehavior

Change-Id: I301296879185310ba3030bd5d726d99052dab160
diff --git a/gr-checks/gr-checks-item.js b/gr-checks/gr-checks-item.js
index 63777b9..3fd7912 100644
--- a/gr-checks/gr-checks-item.js
+++ b/gr-checks/gr-checks-item.js
@@ -63,7 +63,12 @@
 
     _toggleMessageShown() {
       this.showCheckMessage = !this.showCheckMessage;
-      this.fire('toggle-check-message', {uuid: this.check.checker_uuid});
+      this.dispatchEvent(new CustomEvent('toggle-check-message',
+          {
+            detail: {uuid: this.check.checker_uuid},
+            bubbles: true,
+            composed: true,
+          }));
     },
 
     _computeExpandIcon(showCheckMessage) {
@@ -92,9 +97,13 @@
       return (check.blocking && check.blocking.length === 0) ? 'Optional' :
         'Required';
     },
-    _handleReRunClicked(event) {
-      this.fire('retry-check', {uuid: this.check.checker_uuid},
-          {bubbles: false});
+    _handleReRunClicked() {
+      this.dispatchEvent(new CustomEvent('retry-check',
+          {
+            detail: {uuid: this.check.checker_uuid},
+            bubbles: false,
+            composed: true,
+          }));
     },
   });
 
diff --git a/gr-checks/gr-checks-view.js b/gr-checks/gr-checks-view.js
index f27eb11..e1b5a5c 100644
--- a/gr-checks/gr-checks-view.js
+++ b/gr-checks/gr-checks-view.js
@@ -237,7 +237,12 @@
             this._fetchChecks(this.change, this.revision._number,
                 this.getChecks);
           }, error => {
-            this.fire('show-error', {message: error.message});
+            this.dispatchEvent(new CustomEvent('show-error',
+                {
+                  detail: {message: error.message},
+                  bubbles: true,
+                  composed: true,
+                }));
           }
       );
     },
diff --git a/gr-checks/gr-checks-view_test.html b/gr-checks/gr-checks-view_test.html
index 4fd7fdb..e088828 100644
--- a/gr-checks/gr-checks-view_test.html
+++ b/gr-checks/gr-checks-view_test.html
@@ -347,7 +347,7 @@
 
       test('retry fires show-error event', done => {
         postReject(new Error('random error'));
-        const fireStub = sandbox.stub(element, 'fire');
+        const fireStub = sandbox.stub(element, 'dispatchEvent');
         Polymer.dom.flush();
         const checksItem = element.querySelectorAll(
             'table > tbody > gr-checks-item'
@@ -356,7 +356,7 @@
         const reRunButton = reRun.querySelector('gr-button');
         reRunButton.click();
         flush(() => {
-          assert(fireStub.calledWith('show-error'));
+          assert.equal(fireStub.firstCall.args[0].type, ('show-error'));
           done();
         });
       });
diff --git a/gr-checks/gr-create-checkers-dialog.js b/gr-checks/gr-create-checkers-dialog.js
index b045774..dc502c7 100644
--- a/gr-checks/gr-create-checkers-dialog.js
+++ b/gr-checks/gr-create-checkers-dialog.js
@@ -71,14 +71,11 @@
       _query: String,
     },
 
-    behaviors: [
-      Gerrit.FireBehavior,
-    ],
     /**
-    * Fired when the cancel button is pressed.
-    *
-    * @event cancel
-    */
+     * Fired when the cancel button is pressed.
+     *
+     * @event cancel
+     */
 
     observers: [
       '_updateUUID(_scheme, _id)',
@@ -176,7 +173,13 @@
           res => {
             if (res) {
               this._errorMsg = '';
-              this.fire('cancel', {reload: true}, {bubbles: true});
+              this.dispatchEvent(new CustomEvent('cancel',
+                  {
+                    detail: {reload: true},
+                    bubbles: true,
+                    composed: true,
+                  }
+              ));
             }
           },
           error => {
@@ -224,7 +227,13 @@
       this._required = false;
       this._query = '';
       this._status = '';
-      this.fire('cancel', {reload: true}, {bubbles: true});
+      this.dispatchEvent(new CustomEvent('cancel',
+          {
+            detail: {reload: true},
+            bubbles: true,
+            composed: true,
+          }
+      ));
     },
 
     _repoSuggestions(filter) {
diff --git a/gr-checks/gr-repo-chip.js b/gr-checks/gr-repo-chip.js
index 19aff38..2e90b3f 100644
--- a/gr-checks/gr-repo-chip.js
+++ b/gr-checks/gr-repo-chip.js
@@ -16,7 +16,12 @@
     },
     _handleRemove(e) {
       e.preventDefault();
-      this.fire('remove', {repo: this.repo});
+      this.dispatchEvent(new CustomEvent('remove',
+          {
+            detail: {repo: this.repo},
+            bubbles: true,
+            composed: true,
+          }));
     },
   });
 })();
\ No newline at end of file