summaryrefslogtreecommitdiffstats
path: root/android_webview/native
diff options
context:
space:
mode:
authorhush@chromium.org <hush@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-03 02:17:07 +0000
committerhush@chromium.org <hush@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-03 02:17:07 +0000
commit7d67302a01daf37df42a5526654b84ccd7b244cd (patch)
treecb1ab023895919fb194cc83618f8f68fc59f85e0 /android_webview/native
parentfa34edcaf8d6f22221f797590371417644c15930 (diff)
downloadchromium_src-7d67302a01daf37df42a5526654b84ccd7b244cd.zip
chromium_src-7d67302a01daf37df42a5526654b84ccd7b244cd.tar.gz
chromium_src-7d67302a01daf37df42a5526654b84ccd7b244cd.tar.bz2
Global GPU memory manager for android webview
BUG=354155 Review URL: https://codereview.chromium.org/226363004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268006 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview/native')
-rw-r--r--android_webview/native/aw_contents.cc22
-rw-r--r--android_webview/native/aw_contents.h2
2 files changed, 3 insertions, 21 deletions
diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc
index dd3894f..30cc5fd 100644
--- a/android_webview/native/aw_contents.cc
+++ b/android_webview/native/aw_contents.cc
@@ -1045,28 +1045,12 @@ void AwContents::TrimMemory(JNIEnv* env,
jobject obj,
jint level,
jboolean visible) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+
if (!shared_renderer_state_.IsHardwareInitialized())
return;
- shared_renderer_state_.AppendClosure(
- base::Bind(&AwContents::TrimMemoryOnRenderThread,
- base::Unretained(this),
- level,
- visible));
- RequestDrawGL(NULL, true);
-}
-
-void AwContents::TrimMemoryOnRenderThread(int level, bool visible) {
- if (hardware_renderer_ && hardware_renderer_->TrimMemory(level, visible)) {
- content::BrowserThread::PostTask(
- content::BrowserThread::UI,
- FROM_HERE,
- base::Bind(&AwContents::ForceFakeComposite, ui_thread_weak_ptr_));
- }
-}
-
-void AwContents::ForceFakeComposite() {
- browser_view_renderer_.ForceFakeCompositeSW();
+ browser_view_renderer_.TrimMemory(level, visible);
}
void SetShouldDownloadFavicons(JNIEnv* env, jclass jclazz) {
diff --git a/android_webview/native/aw_contents.h b/android_webview/native/aw_contents.h
index 601f297..518a425 100644
--- a/android_webview/native/aw_contents.h
+++ b/android_webview/native/aw_contents.h
@@ -210,11 +210,9 @@ class AwContents : public FindHelper::Listener,
private:
void InitAutofillIfNecessary(bool enabled);
void DidDrawGL(const DrawGLResult& result);
- void ForceFakeComposite();
void InitializeHardwareDrawOnRenderThread();
void ReleaseHardwareDrawOnRenderThread();
- void TrimMemoryOnRenderThread(int level, bool visible);
base::WeakPtrFactory<AwContents> weak_factory_on_ui_thread_;
base::WeakPtr<AwContents> ui_thread_weak_ptr_;