Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / android / find_in_page / find_in_page_bridge.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_ANDROID_FIND_IN_PAGE_FIND_IN_PAGE_BRIDGE_H_
6 #define CHROME_BROWSER_ANDROID_FIND_IN_PAGE_FIND_IN_PAGE_BRIDGE_H_
7
8 #include <jni.h>
9
10 #include "base/android/jni_weak_ref.h"
11 #include "content/public/browser/web_contents.h"
12
13 class FindInPageBridge {
14  public:
15   FindInPageBridge(JNIEnv* env, jobject obj, jobject j_web_contents);
16   void Destroy(JNIEnv*, jobject);
17
18   void StartFinding(JNIEnv* env,
19                     jobject obj,
20                     jstring search_string,
21                     jboolean forward_direction,
22                     jboolean case_sensitive);
23
24   void StopFinding(JNIEnv* env, jobject obj);
25
26   base::android::ScopedJavaLocalRef<jstring> GetPreviousFindText(JNIEnv* env,
27                                                                  jobject obj);
28
29   void RequestFindMatchRects(JNIEnv* env, jobject obj, jint current_version);
30
31   void ActivateNearestFindResult(JNIEnv* env, jobject obj, jfloat x, jfloat y);
32
33   void ActivateFindInPageResultForAccessibility(JNIEnv* env, jobject obj);
34
35   static bool RegisterFindInPageBridge(JNIEnv* env);
36
37  private:
38   content::WebContents* web_contents_;
39   JavaObjectWeakGlobalRef weak_java_ref_;
40
41   DISALLOW_COPY_AND_ASSIGN(FindInPageBridge);
42 };
43
44 #endif  // CHROME_BROWSER_ANDROID_FIND_IN_PAGE_FIND_IN_PAGE_BRIDGE_H_