chromium/chrome/common/extensions/api/search.idl

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Use the <code>chrome.search</code> API to search via the default provider.
namespace search {
  enum Disposition {
    // Specifies that the search results display in the calling tab or the tab
    // from the active browser.
    CURRENT_TAB,

    // Specifies that the search results display in a new tab.
    NEW_TAB,

    // Specifies that the search results display in a new window.
    NEW_WINDOW
  };

  dictionary QueryInfo {
    // String to query with the default search provider.
    DOMString text;

    // Location where search results should be displayed.
    // <code>CURRENT_TAB</code> is the default.
    Disposition? disposition;

    // Location where search results should be displayed.
    // <code>tabId<code> cannot be used with <code>disposition</code>.
    long? tabId;
  };

  callback QueryCallback = void();

  interface Functions {
    // Used to query the default search provider.
    // In case of an error,
    // $(ref:runtime.lastError) will be set.
    static void query(
        QueryInfo queryInfo,
        optional QueryCallback callback);
  };
};