OLD | NEW |
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 ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ | 5 #ifndef ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ |
6 #define ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ | 6 #define ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ |
7 | 7 |
8 #include <jni.h> | 8 #include <jni.h> |
9 #include <list> | 9 #include <list> |
10 #include <string> | 10 #include <string> |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 | 79 |
80 // |handler| is an instance of | 80 // |handler| is an instance of |
81 // org.chromium.android_webview.AwHttpAuthHandler. | 81 // org.chromium.android_webview.AwHttpAuthHandler. |
82 bool OnReceivedHttpAuthRequest(const base::android::JavaRef<jobject>& handler, | 82 bool OnReceivedHttpAuthRequest(const base::android::JavaRef<jobject>& handler, |
83 const std::string& host, | 83 const std::string& host, |
84 const std::string& realm); | 84 const std::string& realm); |
85 | 85 |
86 void SetOffscreenPreRaster(bool enabled); | 86 void SetOffscreenPreRaster(bool enabled); |
87 | 87 |
88 // Methods called from Java. | 88 // Methods called from Java. |
89 void SetJavaPeers(JNIEnv* env, | 89 void SetJavaPeers( |
90 jobject obj, | 90 JNIEnv* env, |
91 jobject aw_contents, | 91 const base::android::JavaParamRef<jobject>& obj, |
92 jobject web_contents_delegate, | 92 const base::android::JavaParamRef<jobject>& aw_contents, |
93 jobject contents_client_bridge, | 93 const base::android::JavaParamRef<jobject>& web_contents_delegate, |
94 jobject io_thread_client, | 94 const base::android::JavaParamRef<jobject>& contents_client_bridge, |
95 jobject intercept_navigation_delegate); | 95 const base::android::JavaParamRef<jobject>& io_thread_client, |
96 base::android::ScopedJavaLocalRef<jobject> GetWebContents(JNIEnv* env, | 96 const base::android::JavaParamRef<jobject>& |
97 jobject obj); | 97 intercept_navigation_delegate); |
| 98 base::android::ScopedJavaLocalRef<jobject> GetWebContents( |
| 99 JNIEnv* env, |
| 100 const base::android::JavaParamRef<jobject>& obj); |
98 | 101 |
99 void Destroy(JNIEnv* env, jobject obj); | 102 void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); |
100 void DocumentHasImages(JNIEnv* env, jobject obj, jobject message); | 103 void DocumentHasImages(JNIEnv* env, |
101 void GenerateMHTML(JNIEnv* env, jobject obj, jstring jpath, jobject callback); | 104 const base::android::JavaParamRef<jobject>& obj, |
102 void CreatePdfExporter(JNIEnv* env, jobject obj, jobject pdfExporter); | 105 const base::android::JavaParamRef<jobject>& message); |
103 void AddVisitedLinks(JNIEnv* env, jobject obj, jobjectArray jvisited_links); | 106 void GenerateMHTML(JNIEnv* env, |
| 107 const base::android::JavaParamRef<jobject>& obj, |
| 108 const base::android::JavaParamRef<jstring>& jpath, |
| 109 const base::android::JavaParamRef<jobject>& callback); |
| 110 void CreatePdfExporter( |
| 111 JNIEnv* env, |
| 112 const base::android::JavaParamRef<jobject>& obj, |
| 113 const base::android::JavaParamRef<jobject>& pdfExporter); |
| 114 void AddVisitedLinks( |
| 115 JNIEnv* env, |
| 116 const base::android::JavaParamRef<jobject>& obj, |
| 117 const base::android::JavaParamRef<jobjectArray>& jvisited_links); |
104 base::android::ScopedJavaLocalRef<jbyteArray> GetCertificate( | 118 base::android::ScopedJavaLocalRef<jbyteArray> GetCertificate( |
105 JNIEnv* env, jobject obj); | 119 JNIEnv* env, |
| 120 const base::android::JavaParamRef<jobject>& obj); |
106 void RequestNewHitTestDataAt(JNIEnv* env, | 121 void RequestNewHitTestDataAt(JNIEnv* env, |
107 jobject obj, | 122 const base::android::JavaParamRef<jobject>& obj, |
108 jfloat x, | 123 jfloat x, |
109 jfloat y, | 124 jfloat y, |
110 jfloat touch_major); | 125 jfloat touch_major); |
111 void UpdateLastHitTestData(JNIEnv* env, jobject obj); | 126 void UpdateLastHitTestData(JNIEnv* env, |
112 void OnSizeChanged(JNIEnv* env, jobject obj, int w, int h, int ow, int oh); | 127 const base::android::JavaParamRef<jobject>& obj); |
113 void SetViewVisibility(JNIEnv* env, jobject obj, bool visible); | 128 void OnSizeChanged(JNIEnv* env, |
114 void SetWindowVisibility(JNIEnv* env, jobject obj, bool visible); | 129 const base::android::JavaParamRef<jobject>& obj, |
115 void SetIsPaused(JNIEnv* env, jobject obj, bool paused); | 130 int w, |
116 void OnAttachedToWindow(JNIEnv* env, jobject obj, int w, int h); | 131 int h, |
117 void OnDetachedFromWindow(JNIEnv* env, jobject obj); | 132 int ow, |
118 bool IsVisible(JNIEnv* env, jobject obj); | 133 int oh); |
| 134 void SetViewVisibility(JNIEnv* env, |
| 135 const base::android::JavaParamRef<jobject>& obj, |
| 136 bool visible); |
| 137 void SetWindowVisibility(JNIEnv* env, |
| 138 const base::android::JavaParamRef<jobject>& obj, |
| 139 bool visible); |
| 140 void SetIsPaused(JNIEnv* env, |
| 141 const base::android::JavaParamRef<jobject>& obj, |
| 142 bool paused); |
| 143 void OnAttachedToWindow(JNIEnv* env, |
| 144 const base::android::JavaParamRef<jobject>& obj, |
| 145 int w, |
| 146 int h); |
| 147 void OnDetachedFromWindow(JNIEnv* env, |
| 148 const base::android::JavaParamRef<jobject>& obj); |
| 149 bool IsVisible(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); |
119 base::android::ScopedJavaLocalRef<jbyteArray> GetOpaqueState( | 150 base::android::ScopedJavaLocalRef<jbyteArray> GetOpaqueState( |
120 JNIEnv* env, jobject obj); | 151 JNIEnv* env, |
121 jboolean RestoreFromOpaqueState(JNIEnv* env, jobject obj, jbyteArray state); | 152 const base::android::JavaParamRef<jobject>& obj); |
122 void FocusFirstNode(JNIEnv* env, jobject obj); | 153 jboolean RestoreFromOpaqueState( |
123 void SetBackgroundColor(JNIEnv* env, jobject obj, jint color); | 154 JNIEnv* env, |
124 void OnComputeScroll(JNIEnv* env, jobject obj, jlong animation_time_millis); | 155 const base::android::JavaParamRef<jobject>& obj, |
| 156 const base::android::JavaParamRef<jbyteArray>& state); |
| 157 void FocusFirstNode(JNIEnv* env, |
| 158 const base::android::JavaParamRef<jobject>& obj); |
| 159 void SetBackgroundColor(JNIEnv* env, |
| 160 const base::android::JavaParamRef<jobject>& obj, |
| 161 jint color); |
| 162 void OnComputeScroll(JNIEnv* env, |
| 163 const base::android::JavaParamRef<jobject>& obj, |
| 164 jlong animation_time_millis); |
125 bool OnDraw(JNIEnv* env, | 165 bool OnDraw(JNIEnv* env, |
126 jobject obj, | 166 const base::android::JavaParamRef<jobject>& obj, |
127 jobject canvas, | 167 const base::android::JavaParamRef<jobject>& canvas, |
128 jboolean is_hardware_accelerated, | 168 jboolean is_hardware_accelerated, |
129 jint scroll_x, | 169 jint scroll_x, |
130 jint scroll_y, | 170 jint scroll_y, |
131 jint visible_left, | 171 jint visible_left, |
132 jint visible_top, | 172 jint visible_top, |
133 jint visible_right, | 173 jint visible_right, |
134 jint visible_bottom); | 174 jint visible_bottom); |
135 jlong GetAwDrawGLViewContext(JNIEnv* env, jobject obj); | 175 jlong GetAwDrawGLViewContext(JNIEnv* env, |
136 jlong CapturePicture(JNIEnv* env, jobject obj, int width, int height); | 176 const base::android::JavaParamRef<jobject>& obj); |
137 void EnableOnNewPicture(JNIEnv* env, jobject obj, jboolean enabled); | 177 jlong CapturePicture(JNIEnv* env, |
138 void InsertVisualStateCallback(JNIEnv* env, | 178 const base::android::JavaParamRef<jobject>& obj, |
139 jobject obj, | 179 int width, |
140 jlong request_id, | 180 int height); |
141 jobject callback); | 181 void EnableOnNewPicture(JNIEnv* env, |
142 void ClearView(JNIEnv* env, jobject obj); | 182 const base::android::JavaParamRef<jobject>& obj, |
143 void SetExtraHeadersForUrl(JNIEnv* env, jobject obj, | 183 jboolean enabled); |
144 jstring url, jstring extra_headers); | 184 void InsertVisualStateCallback( |
| 185 JNIEnv* env, |
| 186 const base::android::JavaParamRef<jobject>& obj, |
| 187 jlong request_id, |
| 188 const base::android::JavaParamRef<jobject>& callback); |
| 189 void ClearView(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); |
| 190 void SetExtraHeadersForUrl( |
| 191 JNIEnv* env, |
| 192 const base::android::JavaParamRef<jobject>& obj, |
| 193 const base::android::JavaParamRef<jstring>& url, |
| 194 const base::android::JavaParamRef<jstring>& extra_headers); |
145 | 195 |
146 void InvokeGeolocationCallback(JNIEnv* env, | 196 void InvokeGeolocationCallback( |
147 jobject obj, | 197 JNIEnv* env, |
148 jboolean value, | 198 const base::android::JavaParamRef<jobject>& obj, |
149 jstring origin); | 199 jboolean value, |
| 200 const base::android::JavaParamRef<jstring>& origin); |
150 | 201 |
151 // PermissionRequestHandlerClient implementation. | 202 // PermissionRequestHandlerClient implementation. |
152 void OnPermissionRequest(base::android::ScopedJavaLocalRef<jobject> j_request, | 203 void OnPermissionRequest(base::android::ScopedJavaLocalRef<jobject> j_request, |
153 AwPermissionRequest* request) override; | 204 AwPermissionRequest* request) override; |
154 void OnPermissionRequestCanceled(AwPermissionRequest* request) override; | 205 void OnPermissionRequestCanceled(AwPermissionRequest* request) override; |
155 | 206 |
156 PermissionRequestHandler* GetPermissionRequestHandler() { | 207 PermissionRequestHandler* GetPermissionRequestHandler() { |
157 return permission_request_handler_.get(); | 208 return permission_request_handler_.get(); |
158 } | 209 } |
159 | 210 |
160 void PreauthorizePermission(JNIEnv* env, | 211 void PreauthorizePermission( |
161 jobject obj, | 212 JNIEnv* env, |
162 jstring origin, | 213 const base::android::JavaParamRef<jobject>& obj, |
163 jlong resources); | 214 const base::android::JavaParamRef<jstring>& origin, |
| 215 jlong resources); |
164 | 216 |
165 // AwBrowserPermissionRequestDelegate implementation. | 217 // AwBrowserPermissionRequestDelegate implementation. |
166 void RequestProtectedMediaIdentifierPermission( | 218 void RequestProtectedMediaIdentifierPermission( |
167 const GURL& origin, | 219 const GURL& origin, |
168 const base::Callback<void(bool)>& callback) override; | 220 const base::Callback<void(bool)>& callback) override; |
169 void CancelProtectedMediaIdentifierPermissionRequests( | 221 void CancelProtectedMediaIdentifierPermissionRequests( |
170 const GURL& origin) override; | 222 const GURL& origin) override; |
171 void RequestGeolocationPermission( | 223 void RequestGeolocationPermission( |
172 const GURL& origin, | 224 const GURL& origin, |
173 const base::Callback<void(bool)>& callback) override; | 225 const base::Callback<void(bool)>& callback) override; |
174 void CancelGeolocationPermissionRequests(const GURL& origin) override; | 226 void CancelGeolocationPermissionRequests(const GURL& origin) override; |
175 void RequestMIDISysexPermission( | 227 void RequestMIDISysexPermission( |
176 const GURL& origin, | 228 const GURL& origin, |
177 const base::Callback<void(bool)>& callback) override; | 229 const base::Callback<void(bool)>& callback) override; |
178 void CancelMIDISysexPermissionRequests(const GURL& origin) override; | 230 void CancelMIDISysexPermissionRequests(const GURL& origin) override; |
179 | 231 |
180 // Find-in-page API and related methods. | 232 // Find-in-page API and related methods. |
181 void FindAllAsync(JNIEnv* env, jobject obj, jstring search_string); | 233 void FindAllAsync(JNIEnv* env, |
182 void FindNext(JNIEnv* env, jobject obj, jboolean forward); | 234 const base::android::JavaParamRef<jobject>& obj, |
183 void ClearMatches(JNIEnv* env, jobject obj); | 235 const base::android::JavaParamRef<jstring>& search_string); |
| 236 void FindNext(JNIEnv* env, |
| 237 const base::android::JavaParamRef<jobject>& obj, |
| 238 jboolean forward); |
| 239 void ClearMatches(JNIEnv* env, |
| 240 const base::android::JavaParamRef<jobject>& obj); |
184 FindHelper* GetFindHelper(); | 241 FindHelper* GetFindHelper(); |
185 | 242 |
186 // Per WebView Cookie Policy | 243 // Per WebView Cookie Policy |
187 bool AllowThirdPartyCookies(); | 244 bool AllowThirdPartyCookies(); |
188 | 245 |
189 // FindHelper::Listener implementation. | 246 // FindHelper::Listener implementation. |
190 void OnFindResultReceived(int active_ordinal, | 247 void OnFindResultReceived(int active_ordinal, |
191 int match_count, | 248 int match_count, |
192 bool finished) override; | 249 bool finished) override; |
193 // IconHelper::Listener implementation. | 250 // IconHelper::Listener implementation. |
(...skipping 17 matching lines...) Expand all Loading... |
211 const gfx::SizeF& contents_size_dip, | 268 const gfx::SizeF& contents_size_dip, |
212 float page_scale_factor, | 269 float page_scale_factor, |
213 float min_page_scale_factor, | 270 float min_page_scale_factor, |
214 float max_page_scale_factor) override; | 271 float max_page_scale_factor) override; |
215 void DidOverscroll(const gfx::Vector2d& overscroll_delta, | 272 void DidOverscroll(const gfx::Vector2d& overscroll_delta, |
216 const gfx::Vector2dF& overscroll_velocity) override; | 273 const gfx::Vector2dF& overscroll_velocity) override; |
217 | 274 |
218 void ParentDrawConstraintsUpdated( | 275 void ParentDrawConstraintsUpdated( |
219 const ParentCompositorDrawConstraints& draw_constraints) override {} | 276 const ParentCompositorDrawConstraints& draw_constraints) override {} |
220 | 277 |
221 void ClearCache(JNIEnv* env, jobject obj, jboolean include_disk_files); | 278 void ClearCache(JNIEnv* env, |
| 279 const base::android::JavaParamRef<jobject>& obj, |
| 280 jboolean include_disk_files); |
222 void SetPendingWebContentsForPopup(scoped_ptr<content::WebContents> pending); | 281 void SetPendingWebContentsForPopup(scoped_ptr<content::WebContents> pending); |
223 jlong ReleasePopupAwContents(JNIEnv* env, jobject obj); | 282 jlong ReleasePopupAwContents(JNIEnv* env, |
| 283 const base::android::JavaParamRef<jobject>& obj); |
224 | 284 |
225 void ScrollTo(JNIEnv* env, jobject obj, jint x, jint y); | 285 void ScrollTo(JNIEnv* env, |
| 286 const base::android::JavaParamRef<jobject>& obj, |
| 287 jint x, |
| 288 jint y); |
226 void SmoothScroll(JNIEnv* env, | 289 void SmoothScroll(JNIEnv* env, |
227 jobject obj, | 290 const base::android::JavaParamRef<jobject>& obj, |
228 jint target_x, | 291 jint target_x, |
229 jint target_y, | 292 jint target_y, |
230 jlong duration_ms); | 293 jlong duration_ms); |
231 void SetDipScale(JNIEnv* env, jobject obj, jfloat dip_scale); | 294 void SetDipScale(JNIEnv* env, |
| 295 const base::android::JavaParamRef<jobject>& obj, |
| 296 jfloat dip_scale); |
232 void SetSaveFormData(bool enabled); | 297 void SetSaveFormData(bool enabled); |
233 | 298 |
234 // Sets the java client | 299 // Sets the java client |
235 void SetAwAutofillClient(jobject client); | 300 void SetAwAutofillClient(jobject client); |
236 | 301 |
237 void SetJsOnlineProperty(JNIEnv* env, jobject obj, jboolean network_up); | 302 void SetJsOnlineProperty(JNIEnv* env, |
238 void TrimMemory(JNIEnv* env, jobject obj, jint level, jboolean visible); | 303 const base::android::JavaParamRef<jobject>& obj, |
| 304 jboolean network_up); |
| 305 void TrimMemory(JNIEnv* env, |
| 306 const base::android::JavaParamRef<jobject>& obj, |
| 307 jint level, |
| 308 jboolean visible); |
239 | 309 |
240 scoped_refptr<AwMessagePortMessageFilter> GetMessagePortMessageFilter(); | 310 scoped_refptr<AwMessagePortMessageFilter> GetMessagePortMessageFilter(); |
241 void PostMessageToFrame(JNIEnv* env, jobject obj, jstring frame_id, | 311 void PostMessageToFrame( |
242 jstring message, jstring target_origin, jintArray sent_ports); | 312 JNIEnv* env, |
243 void CreateMessageChannel(JNIEnv* env, jobject obj, jobjectArray ports); | 313 const base::android::JavaParamRef<jobject>& obj, |
| 314 const base::android::JavaParamRef<jstring>& frame_id, |
| 315 const base::android::JavaParamRef<jstring>& message, |
| 316 const base::android::JavaParamRef<jstring>& target_origin, |
| 317 const base::android::JavaParamRef<jintArray>& sent_ports); |
| 318 void CreateMessageChannel( |
| 319 JNIEnv* env, |
| 320 const base::android::JavaParamRef<jobject>& obj, |
| 321 const base::android::JavaParamRef<jobjectArray>& ports); |
244 | 322 |
245 void GrantFileSchemeAccesstoChildProcess(JNIEnv* env, jobject obj); | 323 void GrantFileSchemeAccesstoChildProcess( |
| 324 JNIEnv* env, |
| 325 const base::android::JavaParamRef<jobject>& obj); |
246 | 326 |
247 void ResumeLoadingCreatedPopupWebContents(JNIEnv* env, jobject obj); | 327 void ResumeLoadingCreatedPopupWebContents( |
| 328 JNIEnv* env, |
| 329 const base::android::JavaParamRef<jobject>& obj); |
248 | 330 |
249 private: | 331 private: |
250 void InitAutofillIfNecessary(bool enabled); | 332 void InitAutofillIfNecessary(bool enabled); |
251 | 333 |
252 // Geolocation API support | 334 // Geolocation API support |
253 void ShowGeolocationPrompt(const GURL& origin, base::Callback<void(bool)>); | 335 void ShowGeolocationPrompt(const GURL& origin, base::Callback<void(bool)>); |
254 void HideGeolocationPrompt(const GURL& origin); | 336 void HideGeolocationPrompt(const GURL& origin); |
255 | 337 |
256 void SetDipScaleInternal(float dip_scale); | 338 void SetDipScaleInternal(float dip_scale); |
257 | 339 |
(...skipping 20 matching lines...) Expand all Loading... |
278 GLViewRendererManager::Key renderer_manager_key_; | 360 GLViewRendererManager::Key renderer_manager_key_; |
279 | 361 |
280 DISALLOW_COPY_AND_ASSIGN(AwContents); | 362 DISALLOW_COPY_AND_ASSIGN(AwContents); |
281 }; | 363 }; |
282 | 364 |
283 bool RegisterAwContents(JNIEnv* env); | 365 bool RegisterAwContents(JNIEnv* env); |
284 | 366 |
285 } // namespace android_webview | 367 } // namespace android_webview |
286 | 368 |
287 #endif // ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ | 369 #endif // ANDROID_WEBVIEW_NATIVE_AW_CONTENTS_H_ |
OLD | NEW |