Refactor SharedMemory::Create and fix a rare file leak.
[chromium-blink-merge.git] / chrome / browser / android / contextualsearch / contextual_search_tab_helper.h
blobbbcbc911c9c474d9d5358e54b6e8bb423d314de0
1 // Copyright 2015 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.
5 #ifndef CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_CONTEXTUAL_SEARCH_TAB_HELPER_H_
6 #define CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_CONTEXTUAL_SEARCH_TAB_HELPER_H_
8 #include <jni.h>
10 #include "base/android/jni_weak_ref.h"
11 #include "base/memory/ref_counted.h"
12 #include "base/memory/weak_ptr.h"
13 #include "base/prefs/pref_change_registrar.h"
15 class Profile;
17 class ContextualSearchTabHelper {
18 public:
19 ContextualSearchTabHelper(JNIEnv* env, jobject obj, Profile* profile);
20 void Destroy(JNIEnv* env, jobject obj);
22 private:
23 ~ContextualSearchTabHelper();
24 void OnContextualSearchPrefChanged();
26 JavaObjectWeakGlobalRef weak_java_ref_;
27 scoped_ptr<PrefChangeRegistrar> pref_change_registrar_;
28 base::WeakPtrFactory<ContextualSearchTabHelper> weak_factory_;
29 DISALLOW_COPY_AND_ASSIGN(ContextualSearchTabHelper);
32 bool RegisterContextualSearchTabHelper(JNIEnv* env);
34 #endif // CHROME_BROWSER_ANDROID_CONTEXTUALSEARCH_CONTEXTUAL_SEARCH_TAB_HELPER_H_