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

Side by Side Diff: android_webview/native/aw_contents.cc

Issue 831903004: [WebView] Add a new flushVisualState API to AwContents. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: int -> uint62 everywhere for real. Created 5 years, 10 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
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « android_webview/native/aw_contents.h ('k') | content/browser/frame_host/render_frame_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698