OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 #include "android_webview/native/aw_contents.h" | 5 #include "android_webview/native/aw_contents.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "android_webview/browser/aw_browser_context.h" | 9 #include "android_webview/browser/aw_browser_context.h" |
10 #include "android_webview/browser/aw_browser_main_parts.h" | 10 #include "android_webview/browser/aw_browser_main_parts.h" |
(...skipping 1016 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1027 new AwPicture(browser_view_renderer_.CapturePicture(width, height))); | 1027 new AwPicture(browser_view_renderer_.CapturePicture(width, height))); |
1028 } | 1028 } |
1029 | 1029 |
1030 void AwContents::EnableOnNewPicture(JNIEnv* env, | 1030 void AwContents::EnableOnNewPicture(JNIEnv* env, |
1031 jobject obj, | 1031 jobject obj, |
1032 jboolean enabled) { | 1032 jboolean enabled) { |
1033 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1033 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1034 browser_view_renderer_.EnableOnNewPicture(enabled); | 1034 browser_view_renderer_.EnableOnNewPicture(enabled); |
1035 } | 1035 } |
1036 | 1036 |
| 1037 namespace { |
| 1038 void FlushVisualStateCallback(const JavaObjectWeakGlobalRef& java_ref, |
| 1039 ScopedJavaGlobalRef<jobject>* callback, |
| 1040 bool result) { |
| 1041 JNIEnv* env = AttachCurrentThread(); |
| 1042 ScopedJavaLocalRef<jobject> obj = java_ref.get(env); |
| 1043 if (obj.is_null()) |
| 1044 return; |
| 1045 Java_AwContents_flushVisualStateCallback( |
| 1046 env, obj.obj(), callback->obj(), result); |
| 1047 } |
| 1048 } // namespace |
| 1049 |
| 1050 void AwContents::FlushVisualState(JNIEnv* env, jobject obj, jobject callback) { |
| 1051 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 1052 ScopedJavaGlobalRef<jobject>* j_callback = new ScopedJavaGlobalRef<jobject>(); |
| 1053 j_callback->Reset(env, callback); |
| 1054 web_contents_->GetMainFrame()->FlushVisualState(base::Bind( |
| 1055 &FlushVisualStateCallback, java_ref_, base::Owned(j_callback))); |
| 1056 } |
| 1057 |
1037 void AwContents::ClearView(JNIEnv* env, jobject obj) { | 1058 void AwContents::ClearView(JNIEnv* env, jobject obj) { |
1038 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1059 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1039 browser_view_renderer_.ClearView(); | 1060 browser_view_renderer_.ClearView(); |
1040 } | 1061 } |
1041 | 1062 |
1042 void AwContents::SetExtraHeadersForUrl(JNIEnv* env, jobject obj, | 1063 void AwContents::SetExtraHeadersForUrl(JNIEnv* env, jobject obj, |
1043 jstring url, jstring jextra_headers) { | 1064 jstring url, jstring jextra_headers) { |
1044 std::string extra_headers; | 1065 std::string extra_headers; |
1045 if (jextra_headers) | 1066 if (jextra_headers) |
1046 extra_headers = ConvertJavaStringToUTF8(env, jextra_headers); | 1067 extra_headers = ConvertJavaStringToUTF8(env, jextra_headers); |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1112 | 1133 |
1113 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, callback, | 1134 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, callback, |
1114 GetMessagePortMessageFilter()); | 1135 GetMessagePortMessageFilter()); |
1115 } | 1136 } |
1116 | 1137 |
1117 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { | 1138 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { |
1118 g_should_download_favicons = true; | 1139 g_should_download_favicons = true; |
1119 } | 1140 } |
1120 | 1141 |
1121 } // namespace android_webview | 1142 } // namespace android_webview |
OLD | NEW |