diff --git a/static/js/framework/clientmon.js b/static/js/framework/clientmon.js
index aa6dc0a..f198849 100644
--- a/static/js/framework/clientmon.js
+++ b/static/js/framework/clientmon.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 (function(window) {
   'use strict';
diff --git a/static/js/framework/env.js b/static/js/framework/env.js
index baf19cb..445f2fa 100644
--- a/static/js/framework/env.js
+++ b/static/js/framework/env.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * @fileoverview Defines the type of the CS_env Javascript object
diff --git a/static/js/framework/externs.js b/static/js/framework/externs.js
index a0375a1..defb115 100644
--- a/static/js/framework/externs.js
+++ b/static/js/framework/externs.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /** @type {CS.env} */
 var CS_env;
diff --git a/static/js/framework/framework-ajax.js b/static/js/framework/framework-ajax.js
index 038c4c3..7fe8a91 100644
--- a/static/js/framework/framework-ajax.js
+++ b/static/js/framework/framework-ajax.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 
 /**
diff --git a/static/js/framework/framework-ajax_test.js b/static/js/framework/framework-ajax_test.js
index c5218d3..c3025e5 100644
--- a/static/js/framework/framework-ajax_test.js
+++ b/static/js/framework/framework-ajax_test.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * @fileoverview Tests for framework-ajax.js.
diff --git a/static/js/framework/framework-cues.js b/static/js/framework/framework-cues.js
index 2c620a1..11d10ac 100644
--- a/static/js/framework/framework-cues.js
+++ b/static/js/framework/framework-cues.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * @fileoverview Simple functions for dismissible on-page help ("cues").
diff --git a/static/js/framework/framework-display.js b/static/js/framework/framework-display.js
index 9213e82..10e7ed0 100644
--- a/static/js/framework/framework-display.js
+++ b/static/js/framework/framework-display.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * Functions used by the Project Hosting to control the display of
diff --git a/static/js/framework/framework-menu.js b/static/js/framework/framework-menu.js
index 35bbebc..01dc621 100644
--- a/static/js/framework/framework-menu.js
+++ b/static/js/framework/framework-menu.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * @fileoverview This file represents a standalone, reusable drop down menu
diff --git a/static/js/framework/framework-myhotlists.js b/static/js/framework/framework-myhotlists.js
index 6459090..8ac0dc7 100644
--- a/static/js/framework/framework-myhotlists.js
+++ b/static/js/framework/framework-myhotlists.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * @fileoverview This file initializes the "My Hotlists" drop down menu in the
diff --git a/static/js/framework/framework-stars.js b/static/js/framework/framework-stars.js
index 946264e..f8035f4 100644
--- a/static/js/framework/framework-stars.js
+++ b/static/js/framework/framework-stars.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * This file contains JS functions that support setting and showing
diff --git a/static/js/framework/project-name-check.js b/static/js/framework/project-name-check.js
index 65c2bdf..b012e36 100644
--- a/static/js/framework/project-name-check.js
+++ b/static/js/framework/project-name-check.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * @fileoverview Functions that support project name checks when
diff --git a/static/js/graveyard/common.js b/static/js/graveyard/common.js
index 621a626..7899d43 100644
--- a/static/js/graveyard/common.js
+++ b/static/js/graveyard/common.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 // ------------------------------------------------------------------------
 // This file contains common utilities and basic javascript infrastructure.
diff --git a/static/js/graveyard/geom.js b/static/js/graveyard/geom.js
index 3eaffb7..059752d 100644
--- a/static/js/graveyard/geom.js
+++ b/static/js/graveyard/geom.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 // functions for dealing with layout and geometry of page elements.
 // Requires shapes.js
diff --git a/static/js/graveyard/listen.js b/static/js/graveyard/listen.js
index 953d674..ba7980e 100644
--- a/static/js/graveyard/listen.js
+++ b/static/js/graveyard/listen.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 var listen;
 var unlisten;
diff --git a/static/js/graveyard/popup_controller.js b/static/js/graveyard/popup_controller.js
index 41c2956..fca8603 100644
--- a/static/js/graveyard/popup_controller.js
+++ b/static/js/graveyard/popup_controller.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * It is common to make a DIV temporarily visible to simulate
diff --git a/static/js/graveyard/shapes.js b/static/js/graveyard/shapes.js
index 27cd7f1..106ea94 100644
--- a/static/js/graveyard/shapes.js
+++ b/static/js/graveyard/shapes.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 // shape related classes
 
diff --git a/static/js/graveyard/xmlhttp.js b/static/js/graveyard/xmlhttp.js
index eaf1f36..17f8136 100644
--- a/static/js/graveyard/xmlhttp.js
+++ b/static/js/graveyard/xmlhttp.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * @fileoverview A bunch of XML HTTP recipes used to do RPC from JavaScript
diff --git a/static/js/sitewide/linked-accounts.js b/static/js/sitewide/linked-accounts.js
index e7fa7e1..28d24d4 100644
--- a/static/js/sitewide/linked-accounts.js
+++ b/static/js/sitewide/linked-accounts.js
@@ -1,9 +1,6 @@
-/* Copyright 2019 The Chromium Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2019 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 const parentSelect = document.getElementById('parent_to_invite');
 const createButton = document.getElementById('create_linked_account_invite');
diff --git a/static/js/tracker/ac.js b/static/js/tracker/ac.js
index 4c0bf2b..b2cb27a 100644
--- a/static/js/tracker/ac.js
+++ b/static/js/tracker/ac.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * An autocomplete library for javascript.
diff --git a/static/js/tracker/ac_test.js b/static/js/tracker/ac_test.js
index 30eedc5..5f1c0e5 100644
--- a/static/js/tracker/ac_test.js
+++ b/static/js/tracker/ac_test.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 var firstCharMap;
 
diff --git a/static/js/tracker/externs.js b/static/js/tracker/externs.js
index 2a92f58..e415668 100644
--- a/static/js/tracker/externs.js
+++ b/static/js/tracker/externs.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 /* eslint-disable no-var */
 
 // Defined in framework/js:core_scripts
diff --git a/static/js/tracker/render-hotlist-table.js b/static/js/tracker/render-hotlist-table.js
index 5004296..8cdfcfb 100644
--- a/static/js/tracker/render-hotlist-table.js
+++ b/static/js/tracker/render-hotlist-table.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * This file contains JS functions used in rendering a hotlistissues table
diff --git a/static/js/tracker/tracker-ac.js b/static/js/tracker/tracker-ac.js
index 4d98ac1..bf898ce 100644
--- a/static/js/tracker/tracker-ac.js
+++ b/static/js/tracker/tracker-ac.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 /* eslint-disable camelcase */
 /* eslint-disable no-unused-vars */
 
diff --git a/static/js/tracker/tracker-components.js b/static/js/tracker/tracker-components.js
index 633d70b..5edc776 100644
--- a/static/js/tracker/tracker-components.js
+++ b/static/js/tracker/tracker-components.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * This file contains JS code for editing components and component definitions.
diff --git a/static/js/tracker/tracker-dd.js b/static/js/tracker/tracker-dd.js
index e7b4c1e..2779f02 100644
--- a/static/js/tracker/tracker-dd.js
+++ b/static/js/tracker/tracker-dd.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * Functions used by Monorail to control drag-and-drop re-orderable lists
diff --git a/static/js/tracker/tracker-display.js b/static/js/tracker/tracker-display.js
index 23b9dcf..ef475d4 100644
--- a/static/js/tracker/tracker-display.js
+++ b/static/js/tracker/tracker-display.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * Functions used by Monorail to control the display of elements on
diff --git a/static/js/tracker/tracker-editing.js b/static/js/tracker/tracker-editing.js
index d53b515..7d7defa 100644
--- a/static/js/tracker/tracker-editing.js
+++ b/static/js/tracker/tracker-editing.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 /* eslint-disable no-var */
 /* eslint-disable prefer-const */
 
diff --git a/static/js/tracker/tracker-fields.js b/static/js/tracker/tracker-fields.js
index d84f11d..15223cd 100644
--- a/static/js/tracker/tracker-fields.js
+++ b/static/js/tracker/tracker-fields.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * This file contains JS code for editing fields and field definitions.
diff --git a/static/js/tracker/tracker-install-ac.js b/static/js/tracker/tracker-install-ac.js
index 2fe1dcd..b819966 100644
--- a/static/js/tracker/tracker-install-ac.js
+++ b/static/js/tracker/tracker-install-ac.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 /* eslint-disable camelcase */
 /* eslint-disable no-unused-vars */
 
diff --git a/static/js/tracker/tracker-keystrokes.js b/static/js/tracker/tracker-keystrokes.js
index 9a75971..69a4949 100644
--- a/static/js/tracker/tracker-keystrokes.js
+++ b/static/js/tracker/tracker-keystrokes.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * This file contains JS functions that implement keystroke accelerators
diff --git a/static/js/tracker/tracker-nav.js b/static/js/tracker/tracker-nav.js
index 4458a51..9046d23 100644
--- a/static/js/tracker/tracker-nav.js
+++ b/static/js/tracker/tracker-nav.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 /* eslint-disable no-var */
 
 /**
@@ -179,4 +176,3 @@
 function TKR_sortDown(colname) {
   TKR_addSort(colname, true);
 }
-
diff --git a/static/js/tracker/tracker-onload.js b/static/js/tracker/tracker-onload.js
index 051c86d..6adbfb9 100644
--- a/static/js/tracker/tracker-onload.js
+++ b/static/js/tracker/tracker-onload.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 /* eslint-disable camelcase */
 /* eslint-disable no-unused-vars */
 
diff --git a/static/js/tracker/tracker-update-issues-hotlists.js b/static/js/tracker/tracker-update-issues-hotlists.js
index 04a85bf..49edc86 100644
--- a/static/js/tracker/tracker-update-issues-hotlists.js
+++ b/static/js/tracker/tracker-update-issues-hotlists.js
@@ -1,9 +1,6 @@
-/* Copyright 2018 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2018 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * This file contains JS functions that support a dialog for adding and removing
diff --git a/static/js/tracker/tracker-util.js b/static/js/tracker/tracker-util.js
index 040f8c1..d3e836d 100644
--- a/static/js/tracker/tracker-util.js
+++ b/static/js/tracker/tracker-util.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 /**
  * This file contains JS utilities used by other JS files in Monorail.
diff --git a/static/js/tracker/trackerac_test.js b/static/js/tracker/trackerac_test.js
index 583fb01..13ddea3 100644
--- a/static/js/tracker/trackerac_test.js
+++ b/static/js/tracker/trackerac_test.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 const feedData = {
   'open': [{name: 'New', doc: 'Newly reported'},
diff --git a/static/js/tracker/trackerediting_test.js b/static/js/tracker/trackerediting_test.js
index 27d45bf..3092013 100644
--- a/static/js/tracker/trackerediting_test.js
+++ b/static/js/tracker/trackerediting_test.js
@@ -1,9 +1,6 @@
-/* Copyright 2016 The Chromium Authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style
- * license that can be found in the LICENSE file or at
- * https://developers.google.com/open-source/licenses/bsd
- */
+// Copyright 2016 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
 
 
 function testKeepJustSummaryPrefixes_NoPrefixes() {
