Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Side by Side Diff: chrome/browser/android/tab_android.h

Issue 73173002: Add ContextMenu support upstream for Android (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix bug in clipboard Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_ANDROID_TAB_ANDROID_H_ 5 #ifndef CHROME_BROWSER_ANDROID_TAB_ANDROID_H_
6 #define CHROME_BROWSER_ANDROID_TAB_ANDROID_H_ 6 #define CHROME_BROWSER_ANDROID_TAB_ANDROID_H_
7 7
8 #include <jni.h> 8 #include <jni.h>
9 9
10 #include "base/android/jni_helper.h" 10 #include "base/android/jni_helper.h"
(...skipping 16 matching lines...) Expand all
27 } 27 }
28 28
29 namespace chrome { 29 namespace chrome {
30 namespace android { 30 namespace android {
31 class ChromeWebContentsDelegateAndroid; 31 class ChromeWebContentsDelegateAndroid;
32 } 32 }
33 } 33 }
34 34
35 namespace content { 35 namespace content {
36 class ContentViewCore; 36 class ContentViewCore;
37 struct ContextMenuParams;
38 class WebContents; 37 class WebContents;
39 } 38 }
40 39
41 class TabAndroid : public CoreTabHelperDelegate, 40 class TabAndroid : public CoreTabHelperDelegate,
42 public content::NotificationObserver { 41 public content::NotificationObserver {
43 public: 42 public:
44 // Convenience method to retrieve the Tab associated with the passed 43 // Convenience method to retrieve the Tab associated with the passed
45 // WebContents. Can return NULL. 44 // WebContents. Can return NULL.
46 static TabAndroid* FromWebContents(content::WebContents* web_contents); 45 static TabAndroid* FromWebContents(content::WebContents* web_contents);
47 46
(...skipping 27 matching lines...) Expand all
75 browser_sync::SyncedTabDelegate* GetSyncedTabDelegate() const; 74 browser_sync::SyncedTabDelegate* GetSyncedTabDelegate() const;
76 75
77 void SetSyncId(int sync_id); 76 void SetSyncId(int sync_id);
78 77
79 virtual void HandlePopupNavigation(chrome::NavigateParams* params) = 0; 78 virtual void HandlePopupNavigation(chrome::NavigateParams* params) = 0;
80 79
81 virtual void OnReceivedHttpAuthRequest(jobject auth_handler, 80 virtual void OnReceivedHttpAuthRequest(jobject auth_handler,
82 const string16& host, 81 const string16& host,
83 const string16& realm) = 0; 82 const string16& realm) = 0;
84 83
85 // Called to show the regular context menu that is triggered by a long press.
86 virtual void ShowContextMenu(const content::ContextMenuParams& params) = 0;
87
88 // Called to show a custom context menu. Used by the NTP.
89 virtual void ShowCustomContextMenu(
90 const content::ContextMenuParams& params,
91 const base::Callback<void(int)>& callback) = 0;
92
93 // Called when context menu option to create the bookmark shortcut on 84 // Called when context menu option to create the bookmark shortcut on
94 // homescreen is called. 85 // homescreen is called.
95 virtual void AddShortcutToBookmark( 86 virtual void AddShortcutToBookmark(
96 const GURL& url, const string16& title, const SkBitmap& skbitmap, 87 const GURL& url, const string16& title, const SkBitmap& skbitmap,
97 int r_value, int g_value, int b_value) = 0; 88 int r_value, int g_value, int b_value) = 0;
98 89
99 // Called when a bookmark node should be edited. 90 // Called when a bookmark node should be edited.
100 virtual void EditBookmark(int64 node_id, 91 virtual void EditBookmark(int64 node_id,
101 const base::string16& node_title, 92 const base::string16& node_title,
102 bool is_folder, 93 bool is_folder,
(...skipping 20 matching lines...) Expand all
123 virtual void Observe(int type, 114 virtual void Observe(int type,
124 const content::NotificationSource& source, 115 const content::NotificationSource& source,
125 const content::NotificationDetails& details) OVERRIDE; 116 const content::NotificationDetails& details) OVERRIDE;
126 117
127 // Methods called from Java via JNI ----------------------------------------- 118 // Methods called from Java via JNI -----------------------------------------
128 119
129 virtual void InitWebContents(JNIEnv* env, 120 virtual void InitWebContents(JNIEnv* env,
130 jobject obj, 121 jobject obj,
131 jboolean incognito, 122 jboolean incognito,
132 jobject jcontent_view_core, 123 jobject jcontent_view_core,
133 jobject jweb_contents_delegate); 124 jobject jweb_contents_delegate,
125 jobject jcontext_menu_populator);
134 126
135 virtual void DestroyWebContents(JNIEnv* env, 127 virtual void DestroyWebContents(JNIEnv* env,
136 jobject obj, 128 jobject obj,
137 jboolean delete_native); 129 jboolean delete_native);
138 base::android::ScopedJavaLocalRef<jobject> GetProfileAndroid(JNIEnv* env, 130 base::android::ScopedJavaLocalRef<jobject> GetProfileAndroid(JNIEnv* env,
139 jobject obj); 131 jobject obj);
140 ToolbarModel::SecurityLevel GetSecurityLevel(JNIEnv* env, jobject obj); 132 ToolbarModel::SecurityLevel GetSecurityLevel(JNIEnv* env, jobject obj);
141 void SetActiveNavigationEntryTitleForUrl(JNIEnv* env, 133 void SetActiveNavigationEntryTitleForUrl(JNIEnv* env,
142 jobject obj, 134 jobject obj,
143 jstring jurl, 135 jstring jurl,
144 jstring jtitle); 136 jstring jtitle);
145 137
138 // TODO: Move out?
Ted C 2013/11/19 02:44:03 seems a bit lacking
David Trainor- moved to gerrit 2013/11/25 19:42:50 Done.
139 void OnContextMenuDownload(JNIEnv* env,
140 jobject obj,
141 jstring jurl,
142 jboolean jis_link);
146 protected: 143 protected:
147 virtual ~TabAndroid(); 144 virtual ~TabAndroid();
148 145
149 private: 146 private:
150 JavaObjectWeakGlobalRef weak_java_tab_; 147 JavaObjectWeakGlobalRef weak_java_tab_;
151 148
152 SessionID session_tab_id_; 149 SessionID session_tab_id_;
153 150
154 content::NotificationRegistrar notification_registrar_; 151 content::NotificationRegistrar notification_registrar_;
155 152
156 scoped_ptr<content::WebContents> web_contents_; 153 scoped_ptr<content::WebContents> web_contents_;
157 scoped_ptr<chrome::android::ChromeWebContentsDelegateAndroid> 154 scoped_ptr<chrome::android::ChromeWebContentsDelegateAndroid>
158 web_contents_delegate_; 155 web_contents_delegate_;
159 156
160 scoped_ptr<browser_sync::SyncedTabDelegateAndroid> synced_tab_delegate_; 157 scoped_ptr<browser_sync::SyncedTabDelegateAndroid> synced_tab_delegate_;
161 158
162 DISALLOW_COPY_AND_ASSIGN(TabAndroid); 159 DISALLOW_COPY_AND_ASSIGN(TabAndroid);
163 }; 160 };
164 161
165 #endif // CHROME_BROWSER_ANDROID_TAB_ANDROID_H_ 162 #endif // CHROME_BROWSER_ANDROID_TAB_ANDROID_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698