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 1075 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1086 jobject obj, | 1086 jobject obj, |
1087 jint level, | 1087 jint level, |
1088 jboolean visible) { | 1088 jboolean visible) { |
1089 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1089 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1090 browser_view_renderer_.TrimMemory(level, visible); | 1090 browser_view_renderer_.TrimMemory(level, visible); |
1091 } | 1091 } |
1092 | 1092 |
1093 // TODO(sgurun) add support for posting a frame whose name is known (only | 1093 // TODO(sgurun) add support for posting a frame whose name is known (only |
1094 // main frame is supported at this time, see crbug.com/389721) | 1094 // main frame is supported at this time, see crbug.com/389721) |
1095 void AwContents::PostMessageToFrame(JNIEnv* env, jobject obj, | 1095 void AwContents::PostMessageToFrame(JNIEnv* env, jobject obj, |
1096 jstring frame_name, jstring message, jstring source_origin, | 1096 jstring frame_name, jstring message, jstring target_origin, |
1097 jstring target_origin, jintArray sent_ports) { | 1097 jintArray sent_ports) { |
1098 | 1098 |
1099 base::string16 j_source_origin(ConvertJavaStringToUTF16(env, source_origin)); | 1099 // Use an empty source origin for android webview. |
| 1100 base::string16 source_origin; |
1100 base::string16 j_target_origin(ConvertJavaStringToUTF16(env, target_origin)); | 1101 base::string16 j_target_origin(ConvertJavaStringToUTF16(env, target_origin)); |
1101 base::string16 j_message(ConvertJavaStringToUTF16(env, message)); | 1102 base::string16 j_message(ConvertJavaStringToUTF16(env, message)); |
1102 std::vector<int> j_ports; | 1103 std::vector<int> j_ports; |
1103 | 1104 |
1104 if (sent_ports != nullptr) { | 1105 if (sent_ports != nullptr) { |
1105 base::android::JavaIntArrayToIntVector(env, sent_ports, &j_ports); | 1106 base::android::JavaIntArrayToIntVector(env, sent_ports, &j_ports); |
1106 BrowserThread::PostTask( | 1107 BrowserThread::PostTask( |
1107 BrowserThread::IO, | 1108 BrowserThread::IO, |
1108 FROM_HERE, | 1109 FROM_HERE, |
1109 base::Bind(&AwMessagePortServiceImpl::RemoveSentPorts, | 1110 base::Bind(&AwMessagePortServiceImpl::RemoveSentPorts, |
1110 base::Unretained(AwMessagePortServiceImpl::GetInstance()), | 1111 base::Unretained(AwMessagePortServiceImpl::GetInstance()), |
1111 j_ports)); | 1112 j_ports)); |
1112 } | 1113 } |
1113 content::MessagePortProvider::PostMessageToFrame(web_contents_.get(), | 1114 content::MessagePortProvider::PostMessageToFrame(web_contents_.get(), |
1114 j_source_origin, | 1115 source_origin, |
1115 j_target_origin, | 1116 j_target_origin, |
1116 j_message, | 1117 j_message, |
1117 j_ports); | 1118 j_ports); |
1118 } | 1119 } |
1119 | 1120 |
1120 scoped_refptr<AwMessagePortMessageFilter> | 1121 scoped_refptr<AwMessagePortMessageFilter> |
1121 AwContents::GetMessagePortMessageFilter() { | 1122 AwContents::GetMessagePortMessageFilter() { |
1122 // Create a message port message filter if necessary | 1123 // Create a message port message filter if necessary |
1123 if (message_port_message_filter_.get() == nullptr) { | 1124 if (message_port_message_filter_.get() == nullptr) { |
1124 message_port_message_filter_ = | 1125 message_port_message_filter_ = |
(...skipping 10 matching lines...) Expand all Loading... |
1135 | 1136 |
1136 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, ports, | 1137 AwMessagePortServiceImpl::GetInstance()->CreateMessageChannel(env, ports, |
1137 GetMessagePortMessageFilter()); | 1138 GetMessagePortMessageFilter()); |
1138 } | 1139 } |
1139 | 1140 |
1140 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { | 1141 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { |
1141 g_should_download_favicons = true; | 1142 g_should_download_favicons = true; |
1142 } | 1143 } |
1143 | 1144 |
1144 } // namespace android_webview | 1145 } // namespace android_webview |
OLD | NEW |