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 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1059 jint level, | 1059 jint level, |
1060 jboolean visible) { | 1060 jboolean visible) { |
1061 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1061 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1062 browser_view_renderer_.TrimMemory(level, visible); | 1062 browser_view_renderer_.TrimMemory(level, visible); |
1063 } | 1063 } |
1064 | 1064 |
1065 // TODO(sgurun) add support for posting a frame whose name is known (only | 1065 // TODO(sgurun) add support for posting a frame whose name is known (only |
1066 // main frame is supported at this time, see crbug.com/389721) | 1066 // main frame is supported at this time, see crbug.com/389721) |
1067 void AwContents::PostMessageToFrame(JNIEnv* env, jobject obj, | 1067 void AwContents::PostMessageToFrame(JNIEnv* env, jobject obj, |
1068 jstring frame_name, jstring message, jstring source_origin, | 1068 jstring frame_name, jstring message, jstring source_origin, |
1069 jstring target_origin, jintArray msgPorts) { | 1069 jstring target_origin, jintArray sent_ports) { |
1070 | 1070 |
1071 base::string16 j_source_origin(ConvertJavaStringToUTF16(env, source_origin)); | 1071 base::string16 j_source_origin(ConvertJavaStringToUTF16(env, source_origin)); |
1072 base::string16 j_target_origin(ConvertJavaStringToUTF16(env, target_origin)); | 1072 base::string16 j_target_origin(ConvertJavaStringToUTF16(env, target_origin)); |
1073 base::string16 j_message(ConvertJavaStringToUTF16(env, message)); | 1073 base::string16 j_message(ConvertJavaStringToUTF16(env, message)); |
1074 std::vector<int> j_ports; | 1074 std::vector<int> j_ports; |
1075 if (msgPorts != nullptr) | 1075 |
1076 base::android::JavaIntArrayToIntVector(env, msgPorts, &j_ports); | 1076 if (sent_ports != nullptr) { |
| 1077 base::android::JavaIntArrayToIntVector(env, sent_ports, &j_ports); |
| 1078 BrowserThread::PostTask( |
| 1079 BrowserThread::IO, |
| 1080 FROM_HERE, |
| 1081 base::Bind(&AwMessagePortServiceImpl::RemoveSentPorts, |
| 1082 base::Unretained(AwMessagePortServiceImpl::GetInstance()), |
| 1083 j_ports)); |
| 1084 } |
1077 | 1085 |
1078 content::MessagePortProvider::PostMessageToFrame(web_contents_.get(), | 1086 content::MessagePortProvider::PostMessageToFrame(web_contents_.get(), |
1079 j_source_origin, | 1087 j_source_origin, |
1080 j_target_origin, | 1088 j_target_origin, |
1081 j_message, | 1089 j_message, |
1082 j_ports); | 1090 j_ports); |
1083 } | 1091 } |
1084 | 1092 |
1085 scoped_refptr<AwMessagePortMessageFilter> | 1093 scoped_refptr<AwMessagePortMessageFilter> |
1086 AwContents::GetMessagePortMessageFilter() { | 1094 AwContents::GetMessagePortMessageFilter() { |
(...skipping 13 matching lines...) Expand all Loading... |
1100 | 1108 |
1101 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, callback, | 1109 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, callback, |
1102 GetMessagePortMessageFilter()); | 1110 GetMessagePortMessageFilter()); |
1103 } | 1111 } |
1104 | 1112 |
1105 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { | 1113 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { |
1106 g_should_download_favicons = true; | 1114 g_should_download_favicons = true; |
1107 } | 1115 } |
1108 | 1116 |
1109 } // namespace android_webview | 1117 } // namespace android_webview |
OLD | NEW |