| Index: chrome/browser/ui/webui/downloads_ui_browsertest.js | 
| diff --git a/chrome/browser/ui/webui/downloads_ui_browsertest.js b/chrome/browser/ui/webui/downloads_ui_browsertest.js | 
| index 4eb5bc1dcbb31e88a295546e35ab19b58bfbda5b..4329f4f930d9a636010835aa85124a590df6f4a3 100644 | 
| --- a/chrome/browser/ui/webui/downloads_ui_browsertest.js | 
| +++ b/chrome/browser/ui/webui/downloads_ui_browsertest.js | 
| @@ -2,139 +2,9 @@ | 
| // Use of this source code is governed by a BSD-style license that can be | 
| // found in the LICENSE file. | 
|  | 
| +GEN_INCLUDE(['downloads_ui_browsertest_base.js']); | 
| GEN('#include "chrome/browser/ui/webui/downloads_ui_browsertest.h"'); | 
|  | 
| -/** @const */ var TOTAL_RESULT_COUNT = 25; | 
| - | 
| -/** | 
| - * Test C++ fixture for downloads WebUI testing. | 
| - * @constructor | 
| - * @extends {testing.Test} | 
| - */ | 
| -function DownloadsUIBrowserTest() {} | 
| - | 
| -/** | 
| - * Base fixture for Downloads WebUI testing. | 
| - * @extends {testing.Test} | 
| - * @constructor | 
| - */ | 
| -function BaseDownloadsWebUITest() {} | 
| - | 
| -BaseDownloadsWebUITest.prototype = { | 
| -  __proto__: testing.Test.prototype, | 
| - | 
| -  /** | 
| -   * Browse to the downloads page & call our preLoad(). | 
| -   */ | 
| -  browsePreload: 'chrome://downloads/', | 
| - | 
| -  /** @override */ | 
| -  typedefCppFixture: 'DownloadsUIBrowserTest', | 
| - | 
| -  /** @override */ | 
| -  testGenPreamble: function() { | 
| -    GEN('  SetDeleteAllowed(true);'); | 
| -  }, | 
| - | 
| -  /** @override */ | 
| -  runAccessibilityChecks: true, | 
| - | 
| -  /** @override */ | 
| -  accessibilityIssuesAreErrors: true, | 
| - | 
| -  /** | 
| -   * Sends TOTAL_RESULT_COUNT fake downloads to the page. This can't be called | 
| -   * in the preLoad, because it requires the global Download object to have | 
| -   * been created by the page. | 
| -   * @override | 
| -   */ | 
| -  setUp: function() { | 
| -    // The entries will begin at 1:00 AM on Sept 2, 2008, and will be spaced | 
| -    // two minutes apart. | 
| -    var timestamp = new Date(2008, 9, 2, 1, 0).getTime(); | 
| -    for (var i = 0; i < TOTAL_RESULT_COUNT; ++i) { | 
| -      downloads.updated(this.createDownload_(i, timestamp)); | 
| -      timestamp += 2 * 60 * 1000;  // Next visit is two minutes later. | 
| -    } | 
| -    expectEquals(downloads.size(), TOTAL_RESULT_COUNT); | 
| -  }, | 
| - | 
| -  /** | 
| -   * Creates a download object to be passed to the page, following the expected | 
| -   * backend format (see downloads_dom_handler.cc). | 
| -   * @param {number} A unique ID for the download. | 
| -   * @param {number} The time the download purportedly started. | 
| -   * @return {!Object} A fake download object. | 
| -   * @private | 
| -   */ | 
| -  createDownload_: function(id, timestamp) { | 
| -    return { | 
| -      id: id, | 
| -      started: timestamp, | 
| -      otr: false, | 
| -      state: Download.States.COMPLETE, | 
| -      retry: false, | 
| -      file_path: '/path/to/file', | 
| -      file_url: 'http://google.com/' + timestamp, | 
| -      file_name: 'download_' + timestamp, | 
| -      url: 'http://google.com/' + timestamp, | 
| -      file_externally_removed: false, | 
| -      danger_type: Download.DangerType.NOT_DANGEROUS, | 
| -      last_reason_text: '', | 
| -      since_string: 'today', | 
| -      date_string: 'today', | 
| -      percent: 100, | 
| -      progress_status_text: 'done', | 
| -      received: 128, | 
| -    }; | 
| -  }, | 
| - | 
| -  /** | 
| -   * Asserts the correctness of the state of the UI elements | 
| -   * that delete the download history. | 
| -   * @param {boolean} allowDelete True if download history deletion is | 
| -   *     allowed and false otherwise. | 
| -   * @param {boolean} expectControlsHidden True if the controls to delete | 
| -   *     download history are expected to be hidden and false otherwise. | 
| -   */ | 
| -  testHelper: function(allowDelete, expectControlsHidden) { | 
| -    var clearAllElements = document.getElementsByClassName('clear-all-link'); | 
| -    var disabledElements = document.getElementsByClassName('disabled-link'); | 
| -    var removeLinkElements = | 
| -        document.getElementsByClassName('control-remove-link'); | 
| - | 
| -    // "Clear all" should be a link only when deletions are allowed. | 
| -    expectEquals(allowDelete ? 1 : 0, clearAllElements.length); | 
| - | 
| -    // There should be no disabled links when deletions are allowed. | 
| -    // On the other hand, when deletions are not allowed, "Clear All" | 
| -    // and all "Remove from list" links should be disabled. | 
| -    expectEquals(allowDelete ? 0 : TOTAL_RESULT_COUNT + 1, | 
| -        disabledElements.length); | 
| - | 
| -    // All "Remove from list" items should be links when deletions are allowed. | 
| -    // On the other hand, when deletions are not allowed, all | 
| -    // "Remove from list" items should be text. | 
| -    expectEquals(allowDelete ? TOTAL_RESULT_COUNT : 0, | 
| -        removeLinkElements.length); | 
| - | 
| -    if (allowDelete) { | 
| -      // "Clear all" should not be hidden. | 
| -      expectFalse(clearAllElements[0].hidden); | 
| - | 
| -      // No "Remove from list" items should be hidden. | 
| -      expectFalse(removeLinkElements[0].hidden); | 
| -    } else { | 
| -      expectEquals(expectControlsHidden, disabledElements[0].hidden); | 
| -    } | 
| - | 
| -    // The model is updated synchronously, even though the actual | 
| -    // back-end removal (tested elsewhere) is asynchronous. | 
| -    clearAll(); | 
| -    expectEquals(allowDelete ? 0 : TOTAL_RESULT_COUNT, downloads.size()); | 
| -  }, | 
| -}; | 
| - | 
| // Test UI when removing entries is allowed. | 
| TEST_F('BaseDownloadsWebUITest', 'DeleteAllowed', function() { | 
| this.testHelper(true, false); | 
| @@ -174,24 +44,3 @@ TEST_F('DownloadsWebUIDeleteProhibitedTest', 'DeleteProhibited', function() { | 
| // single item. | 
| testDone(); | 
| }); | 
| - | 
| -/** | 
| - * Fixture for Downloads WebUI testing for a supervised user. | 
| - * @extends {BaseDownloadsWebUITest} | 
| - * @constructor | 
| - */ | 
| -function DownloadsWebUIForSupervisedUsersTest() {} | 
| - | 
| -DownloadsWebUIForSupervisedUsersTest.prototype = { | 
| -  __proto__: BaseDownloadsWebUITest.prototype, | 
| - | 
| -  /** @override */ | 
| -  typedefCppFixture: 'DownloadsWebUIForSupervisedUsersTest', | 
| -}; | 
| - | 
| -// Test UI for supervised users, removing entries should be disabled | 
| -// and removal controls should be hidden. | 
| -TEST_F('DownloadsWebUIForSupervisedUsersTest', 'SupervisedUsers', function() { | 
| -  this.testHelper(false, true); | 
| -  testDone(); | 
| -}); | 
|  |