summaryrefslogtreecommitdiffstats
path: root/android_webview/browser/browser_view_renderer_impl.cc
diff options
context:
space:
mode:
authorjoth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-16 09:03:11 +0000
committerjoth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-16 09:03:11 +0000
commit1d0a6b808c1fde1eab2eddf60e2a7a767e3037f4 (patch)
treedf43594cb23816e4a34ae03dfb1f19264ed60de0 /android_webview/browser/browser_view_renderer_impl.cc
parent48796e75f865cd9980de478b9268991b2ee99332 (diff)
downloadchromium_src-1d0a6b808c1fde1eab2eddf60e2a7a767e3037f4.zip
chromium_src-1d0a6b808c1fde1eab2eddf60e2a7a767e3037f4.tar.gz
chromium_src-1d0a6b808c1fde1eab2eddf60e2a7a767e3037f4.tar.bz2
Bring up Software rendering in merged thread mode
Plumbs through demand-software-drawing from the view to the synchronous compositor. Migrates the SW draw machinery from BrowserViewRendererImpl to InProcessViewRenderer needed to implement this. (DrawSw CapturePicture are copied across; I've not attempted to factor them out as the former class is going to be deleted next.) Removes kEnableCompositorFrameMessage from all android configs except the old webview render path, to avoid the FrameAck handshaking in synchronous mode. TEST=Use with --merge-ui-and-compositor-threads to see SW rendering everywhere. BUG=230226 Review URL: https://chromiumcodereview.appspot.com/15120003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200498 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview/browser/browser_view_renderer_impl.cc')
-rw-r--r--android_webview/browser/browser_view_renderer_impl.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/android_webview/browser/browser_view_renderer_impl.cc b/android_webview/browser/browser_view_renderer_impl.cc
index 837f85b..aacf9d4 100644
--- a/android_webview/browser/browser_view_renderer_impl.cc
+++ b/android_webview/browser/browser_view_renderer_impl.cc
@@ -179,7 +179,7 @@ BrowserViewRendererImpl::~BrowserViewRendererImpl() {
}
// static
-void BrowserViewRendererImpl::SetAwDrawSWFunctionTable(
+void BrowserViewRenderer::SetAwDrawSWFunctionTable(
AwDrawSWFunctionTable* table) {
g_sw_draw_functions = table;
g_is_skia_version_compatible =
@@ -188,6 +188,17 @@ void BrowserViewRendererImpl::SetAwDrawSWFunctionTable(
<< "Skia versions are not compatible, rendering performance will suffer.";
}
+// static
+AwDrawSWFunctionTable* BrowserViewRenderer::GetAwDrawSWFunctionTable() {
+ return g_sw_draw_functions;
+}
+
+// static
+bool BrowserViewRenderer::IsSkiaVersionCompatible() {
+ DCHECK(g_sw_draw_functions);
+ return g_is_skia_version_compatible;
+}
+
void BrowserViewRendererImpl::SetContents(ContentViewCore* content_view_core) {
// First remove association from the prior ContentViewCore / WebContents.
if (web_contents_) {