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

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

Issue 177013006: [Android] Move LoadUrl from Tab upstream. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 9 months 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 19 matching lines...) Expand all
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 class WebContents; 37 class WebContents;
38 } 38 }
39 39
40 namespace prerender {
41 class PrerenderManager;
42 }
43
40 class TabAndroid : public CoreTabHelperDelegate, 44 class TabAndroid : public CoreTabHelperDelegate,
41 public content::NotificationObserver { 45 public content::NotificationObserver {
42 public: 46 public:
47 enum TabLoadStatus {
48 #define DEFINE_TAB_LOAD_STATUS(name, value) name = value,
49 #include "chrome/browser/android/tab_load_status.h"
50 #undef DEFINE_TAB_LOAD_STATUS
51 };
52
43 // Convenience method to retrieve the Tab associated with the passed 53 // Convenience method to retrieve the Tab associated with the passed
44 // WebContents. Can return NULL. 54 // WebContents. Can return NULL.
45 static TabAndroid* FromWebContents(content::WebContents* web_contents); 55 static TabAndroid* FromWebContents(content::WebContents* web_contents);
46 56
47 // Returns the native TabAndroid stored in the Java Tab represented by 57 // Returns the native TabAndroid stored in the Java Tab represented by
48 // |obj|. 58 // |obj|.
49 static TabAndroid* GetNativeTab(JNIEnv* env, jobject obj); 59 static TabAndroid* GetNativeTab(JNIEnv* env, jobject obj);
50 60
51 TabAndroid(JNIEnv* env, jobject obj); 61 TabAndroid(JNIEnv* env, jobject obj);
52 virtual ~TabAndroid(); 62 virtual ~TabAndroid();
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 bool is_folder, 110 bool is_folder,
101 bool is_partner_bookmark); 111 bool is_partner_bookmark);
102 112
103 // Called to notify that the new tab page has completely rendered. 113 // Called to notify that the new tab page has completely rendered.
104 virtual void OnNewTabPageReady(); 114 virtual void OnNewTabPageReady();
105 115
106 // Called to determine if chrome://welcome should contain links to the terms 116 // Called to determine if chrome://welcome should contain links to the terms
107 // of service and the privacy notice. 117 // of service and the privacy notice.
108 virtual bool ShouldWelcomePageLinkToTermsOfService(); 118 virtual bool ShouldWelcomePageLinkToTermsOfService();
109 119
110 // Register the Tab's native methods through JNI. 120 bool HasPrerenderedUrl(GURL gurl);
111 static bool RegisterTabAndroid(JNIEnv* env);
112 121
113 // CoreTabHelperDelegate ---------------------------------------------------- 122 // CoreTabHelperDelegate ----------------------------------------------------
114 123
115 virtual void SwapTabContents(content::WebContents* old_contents, 124 virtual void SwapTabContents(content::WebContents* old_contents,
116 content::WebContents* new_contents, 125 content::WebContents* new_contents,
117 bool did_start_load, 126 bool did_start_load,
118 bool did_finish_load) OVERRIDE; 127 bool did_finish_load) OVERRIDE;
119 128
120 // NotificationObserver ----------------------------------------------------- 129 // NotificationObserver -----------------------------------------------------
121 virtual void Observe(int type, 130 virtual void Observe(int type,
122 const content::NotificationSource& source, 131 const content::NotificationSource& source,
123 const content::NotificationDetails& details) OVERRIDE; 132 const content::NotificationDetails& details) OVERRIDE;
124 133
125 // Methods called from Java via JNI ----------------------------------------- 134 // Methods called from Java via JNI -----------------------------------------
126 135
127 virtual void Destroy(JNIEnv* env, jobject obj); 136 virtual void Destroy(JNIEnv* env, jobject obj);
128 virtual void InitWebContents(JNIEnv* env, 137 virtual void InitWebContents(JNIEnv* env,
129 jobject obj, 138 jobject obj,
130 jboolean incognito, 139 jboolean incognito,
131 jobject jcontent_view_core, 140 jobject jcontent_view_core,
132 jobject jweb_contents_delegate, 141 jobject jweb_contents_delegate,
133 jobject jcontext_menu_populator); 142 jobject jcontext_menu_populator);
134 virtual void DestroyWebContents(JNIEnv* env, 143 virtual void DestroyWebContents(JNIEnv* env,
135 jobject obj, 144 jobject obj,
136 jboolean delete_native); 145 jboolean delete_native);
137 base::android::ScopedJavaLocalRef<jobject> GetWebContents(JNIEnv* env, 146 base::android::ScopedJavaLocalRef<jobject> GetWebContents(JNIEnv* env,
138 jobject obj); 147 jobject obj);
139 base::android::ScopedJavaLocalRef<jobject> GetProfileAndroid(JNIEnv* env, 148 base::android::ScopedJavaLocalRef<jobject> GetProfileAndroid(JNIEnv* env,
140 jobject obj); 149 jobject obj);
150 virtual TabLoadStatus LoadUrl(JNIEnv* env,
151 jobject obj,
152 jstring url,
153 jstring j_extra_headers,
154 jbyteArray j_post_data,
155 jint page_transition,
156 jstring j_referrer_url,
157 jint referrer_policy);
141 ToolbarModel::SecurityLevel GetSecurityLevel(JNIEnv* env, jobject obj); 158 ToolbarModel::SecurityLevel GetSecurityLevel(JNIEnv* env, jobject obj);
142 void SetActiveNavigationEntryTitleForUrl(JNIEnv* env, 159 void SetActiveNavigationEntryTitleForUrl(JNIEnv* env,
143 jobject obj, 160 jobject obj,
144 jstring jurl, 161 jstring jurl,
145 jstring jtitle); 162 jstring jtitle);
146 bool Print(JNIEnv* env, jobject obj); 163 bool Print(JNIEnv* env, jobject obj);
147 164
165 // Register the Tab's native methods through JNI.
166 static bool RegisterTabAndroid(JNIEnv* env);
167
148 private: 168 private:
169 prerender::PrerenderManager* GetPrerenderManager() const;
170
149 JavaObjectWeakGlobalRef weak_java_tab_; 171 JavaObjectWeakGlobalRef weak_java_tab_;
150 172
151 // The identifier used by session restore for this tab. 173 // The identifier used by session restore for this tab.
152 SessionID session_tab_id_; 174 SessionID session_tab_id_;
153 175
154 // Identifier of the window the tab is in. 176 // Identifier of the window the tab is in.
155 SessionID session_window_id_; 177 SessionID session_window_id_;
156 178
157 content::NotificationRegistrar notification_registrar_; 179 content::NotificationRegistrar notification_registrar_;
158 180
159 scoped_ptr<content::WebContents> web_contents_; 181 scoped_ptr<content::WebContents> web_contents_;
160 scoped_ptr<chrome::android::ChromeWebContentsDelegateAndroid> 182 scoped_ptr<chrome::android::ChromeWebContentsDelegateAndroid>
161 web_contents_delegate_; 183 web_contents_delegate_;
162 184
163 scoped_ptr<browser_sync::SyncedTabDelegateAndroid> synced_tab_delegate_; 185 scoped_ptr<browser_sync::SyncedTabDelegateAndroid> synced_tab_delegate_;
164 186
165 DISALLOW_COPY_AND_ASSIGN(TabAndroid); 187 DISALLOW_COPY_AND_ASSIGN(TabAndroid);
166 }; 188 };
167 189
168 #endif // CHROME_BROWSER_ANDROID_TAB_ANDROID_H_ 190 #endif // CHROME_BROWSER_ANDROID_TAB_ANDROID_H_
OLDNEW
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/TabObserver.java ('k') | chrome/browser/android/tab_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698