/* Copyright 2014 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.
 */

label Chrome {
  M14 = 0.3
};

interface PPP_Find_Private {
  /**
   * Finds the given UTF-8 text starting at the current selection. The number of
   * results will be updated asynchronously via NumberOfFindResultsChanged in
   * PPB_Find. Note that multiple StartFind calls can happen before StopFind is
   * called in the case of the search term changing.
   *
   * Return PP_FALSE if the plugin doesn't support find in page. Consequently,
   * it won't call any callbacks.
   */
  PP_Bool StartFind([in] PP_Instance instance,
                    [in] str_t text,
                    [in] PP_Bool case_sensitive);

  /**
   * Go to the next/previous result.
   */
  void SelectFindResult([in] PP_Instance instance,
                        [in] PP_Bool forward);

  /**
   * Tells the plugin that the find operation has stopped, so it should clear
   * any highlighting.
   */
  void StopFind([in] PP_Instance instance);
};
