DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (5350524bb654)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 * vim: sw=2 ts=2 sts=2
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

interface nsIURI;

/**
 * This interface provides some constants used by the Places AutoComplete
 * search provider as well as methods to track opened pages for AutoComplete
 * purposes.
 */
[scriptable, uuid(61b6348a-09e1-4810-8057-f8cb3cec6ef8)]
interface mozIPlacesAutoComplete : nsISupports
{
  //////////////////////////////////////////////////////////////////////////////
  //// Matching Constants

  /**
   * Match anywhere in each searchable term.
   */
  const long MATCH_ANYWHERE = 0;

  /**
   * Match first on word boundaries, and if we do not get enough results, then
   * match anywhere in each searchable term.
   */
  const long MATCH_BOUNDARY_ANYWHERE = 1;

  /**
   * Match on word boundaries in each searchable term.
   */
  const long MATCH_BOUNDARY = 2;

  /**
   * Match only the beginning of each search term.
   */
  const long MATCH_BEGINNING = 3;

  /**
   * Match anywhere in each searchable term without doing any transformation
   * or stripping on the underlying data.
   */
  const long MATCH_ANYWHERE_UNMODIFIED = 4;

  /**
   * Match only the beginning of each search term using a case sensitive
   * comparator.
   */
  const long MATCH_BEGINNING_CASE_SENSITIVE = 5;

  //////////////////////////////////////////////////////////////////////////////
  //// Search Behavior Constants

  /**
   * Search through history.
   */
  const long BEHAVIOR_HISTORY = 1 << 0;

  /**
   * Search though bookmarks.
   */
  const long BEHAVIOR_BOOKMARK = 1 << 1;

  /**
   * Search through tags.
   */
  const long BEHAVIOR_TAG = 1 << 2;

  /**
   * Search the title of pages.
   */
  const long BEHAVIOR_TITLE = 1 << 3;

  /**
   * Search the URL of pages.
   */
  const long BEHAVIOR_URL = 1 << 4;

  /**
   * Search for typed pages.
   */
  const long BEHAVIOR_TYPED = 1 << 5;

  /**
   * Search javascript: URLs.
   */
  const long BEHAVIOR_JAVASCRIPT = 1 << 6;

  /**
   * Search for pages that have been marked as being opened, such as a tab
   * in a tabbrowser.
   */
  const long BEHAVIOR_OPENPAGE = 1 << 7;

  /**
   * Use intersection between history, typed, bookmark, tag and openpage
   * instead of union, when the restrict bit is set.
   */
  const long BEHAVIOR_RESTRICT = 1 << 8;

  /**
   * Include search suggestions from the currently selected search provider.
   */
  const long BEHAVIOR_SEARCHES = 1 << 9;

  /**
   * Mark a page as being currently open.
   *
   * @note Pages will not be automatically unregistered when Private Browsing
   *       mode is entered or exited.  Therefore, consumers MUST unregister or
   *       register themselves.
   *
   * @param aURI
   *        The URI to register as an open page.
   * @param aUserContextId
   *        The Container Id of the tab.
   */
  void registerOpenPage(in nsIURI aURI, in uint32_t aUserContextId);

  /**
   * Mark a page as no longer being open (either by closing the window or tab,
   * or by navigating away from that page).
   *
   * @note Pages will not be automatically unregistered when Private Browsing
   *       mode is entered or exited.  Therefore, consumers MUST unregister or
   *       register themselves.
   *
   * @param aURI
   *        The URI to unregister as an open page.
   * @param aUserContextId
   *        The Container Id of the tab.
   */
  void unregisterOpenPage(in nsIURI aURI, in uint32_t aUserContextId);
};