| // Copyright 2017 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. |
| |
| /** |
| * @fileoverview Externs for objects sent from C++ to chrome://history. |
| * @externs |
| */ |
| |
| /** |
| * The type of the history result object. The definition is based on |
| * chrome/browser/ui/webui/browsing_history_handler.cc: |
| * BrowsingHistoryHandler::HistoryEntry::ToValue() |
| * @typedef {{allTimestamps: Array<number>, |
| * blockedVisit: boolean, |
| * dateRelativeDay: string, |
| * dateShort: string, |
| * dateTimeOfDay: string, |
| * deviceName: string, |
| * deviceType: string, |
| * domain: string, |
| * fallbackFaviconText: string, |
| * hostFilteringBehavior: number, |
| * snippet: string, |
| * starred: boolean, |
| * time: number, |
| * title: string, |
| * url: string}} |
| */ |
| let HistoryEntry; |
| |
| /** |
| * The type of the history results info object. The definition is based on |
| * chrome/browser/ui/webui/browsing_history_handler.cc: |
| * BrowsingHistoryHandler::QueryComplete() |
| * @typedef {{finished: boolean, |
| * term: string}} |
| */ |
| let HistoryQuery; |
| |
| /** |
| * The type of the foreign session tab object. This definition is based on |
| * chrome/browser/ui/webui/foreign_session_handler.cc: |
| * @typedef {{direction: string, |
| * sessionId: number, |
| * timestamp: number, |
| * title: string, |
| * type: string, |
| * url: string}} |
| */ |
| let ForeignSessionTab; |
| |
| /** |
| * The type of the foreign session tab object. This definition is based on |
| * chrome/browser/ui/webui/foreign_session_handler.cc: |
| * @typedef {{timestamp: number, |
| * userVisibleTimestamp: string, |
| * sessionId: number, |
| * tabs: Array<ForeignSessionTab>}} |
| */ |
| let ForeignSessionWindow; |
| |
| /** |
| * The type of the foreign session info object. This definition is based on |
| * chrome/browser/ui/webui/foreign_session_handler.cc: |
| * @typedef {{collapsed: boolean, |
| * deviceType: string, |
| * name: string, |
| * modifiedTime: string, |
| * tag: string, |
| * timestamp: number, |
| * windows: Array<ForeignSessionWindow>}} |
| */ |
| let ForeignSession; |
| |
| /** |
| * @typedef {{incremental: boolean, |
| * querying: boolean, |
| * searchTerm: string}} |
| */ |
| let QueryState; |
| |
| /** |
| * @typedef {{info: ?HistoryQuery, |
| * results: ?Array<!HistoryEntry>, |
| * sessionList: ?Array<!ForeignSession>}} |
| */ |
| let QueryResult; |
| |
| /** |
| * @constructor |
| * @extends {MouseEvent} |
| */ |
| const DomRepeatClickEvent = function() {}; |
| |
| /** @type {Object} */ |
| DomRepeatClickEvent.prototype.model; |