diff options
author | hush@chromium.org <hush@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-03 02:17:07 +0000 |
---|---|---|
committer | hush@chromium.org <hush@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-03 02:17:07 +0000 |
commit | 7d67302a01daf37df42a5526654b84ccd7b244cd (patch) | |
tree | cb1ab023895919fb194cc83618f8f68fc59f85e0 /android_webview/native | |
parent | fa34edcaf8d6f22221f797590371417644c15930 (diff) | |
download | chromium_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.cc | 22 | ||||
-rw-r--r-- | android_webview/native/aw_contents.h | 2 |
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_; |