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 1040 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1051 jobject obj, | 1051 jobject obj, |
1052 jboolean network_up) { | 1052 jboolean network_up) { |
1053 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1053 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1054 render_view_host_ext_->SetJsOnlineProperty(network_up); | 1054 render_view_host_ext_->SetJsOnlineProperty(network_up); |
1055 } | 1055 } |
1056 | 1056 |
1057 void AwContents::TrimMemory(JNIEnv* env, | 1057 void AwContents::TrimMemory(JNIEnv* env, |
1058 jobject obj, | 1058 jobject obj, |
1059 jint level, | 1059 jint level, |
1060 jboolean visible) { | 1060 jboolean visible) { |
| 1061 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 1062 |
1061 if (!shared_renderer_state_.IsHardwareInitialized()) | 1063 if (!shared_renderer_state_.IsHardwareInitialized()) |
1062 return; | 1064 return; |
1063 | 1065 |
1064 shared_renderer_state_.AppendClosure( | 1066 browser_view_renderer_.TrimMemory(level, visible); |
1065 base::Bind(&AwContents::TrimMemoryOnRenderThread, | |
1066 base::Unretained(this), | |
1067 level, | |
1068 visible)); | |
1069 RequestDrawGL(NULL, true); | |
1070 } | |
1071 | |
1072 void AwContents::TrimMemoryOnRenderThread(int level, bool visible) { | |
1073 if (hardware_renderer_ && hardware_renderer_->TrimMemory(level, visible)) { | |
1074 content::BrowserThread::PostTask( | |
1075 content::BrowserThread::UI, | |
1076 FROM_HERE, | |
1077 base::Bind(&AwContents::ForceFakeComposite, ui_thread_weak_ptr_)); | |
1078 } | |
1079 } | |
1080 | |
1081 void AwContents::ForceFakeComposite() { | |
1082 browser_view_renderer_.ForceFakeCompositeSW(); | |
1083 } | 1067 } |
1084 | 1068 |
1085 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { | 1069 void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) { |
1086 g_should_download_favicons = true; | 1070 g_should_download_favicons = true; |
1087 } | 1071 } |
1088 | 1072 |
1089 } // namespace android_webview | 1073 } // namespace android_webview |
OLD | NEW |