summaryrefslogtreecommitdiffstats
path: root/content/browser/android
diff options
context:
space:
mode:
authorboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-02 07:31:33 +0000
committerboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-02 07:31:33 +0000
commit8a5928021fcd9cb365a623708e1c05d9bcdfe3e9 (patch)
treee75f61529a6709423ea9ff631674c6e79fb841e4 /content/browser/android
parent37b32460bc6c21b0926427f308cc4a7c33670b4a (diff)
downloadchromium_src-8a5928021fcd9cb365a623708e1c05d9bcdfe3e9.zip
chromium_src-8a5928021fcd9cb365a623708e1c05d9bcdfe3e9.tar.gz
chromium_src-8a5928021fcd9cb365a623708e1c05d9bcdfe3e9.tar.bz2
Add switch to disable recording whole document
Add an android webview switch to disable the workaround to record the whole document on in each commit. The setting is plumbed through SynchronousCompositorFactory. BUG=390702 Review URL: https://codereview.chromium.org/361073002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@280970 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/android')
-rw-r--r--content/browser/android/in_process/synchronous_compositor_factory_impl.cc12
-rw-r--r--content/browser/android/in_process/synchronous_compositor_factory_impl.h4
-rw-r--r--content/browser/android/in_process/synchronous_compositor_impl.cc5
3 files changed, 20 insertions, 1 deletions
diff --git a/content/browser/android/in_process/synchronous_compositor_factory_impl.cc b/content/browser/android/in_process/synchronous_compositor_factory_impl.cc
index 7c5646e..4449ca1 100644
--- a/content/browser/android/in_process/synchronous_compositor_factory_impl.cc
+++ b/content/browser/android/in_process/synchronous_compositor_factory_impl.cc
@@ -123,7 +123,8 @@ class VideoContextProvider
using webkit::gpu::WebGraphicsContext3DInProcessCommandBufferImpl;
SynchronousCompositorFactoryImpl::SynchronousCompositorFactoryImpl()
- : num_hardware_compositors_(0) {
+ : record_full_layer_(true),
+ num_hardware_compositors_(0) {
SynchronousCompositorFactory::SetInstance(this);
}
@@ -134,6 +135,11 @@ SynchronousCompositorFactoryImpl::GetCompositorMessageLoop() {
return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI);
}
+bool
+SynchronousCompositorFactoryImpl::RecordFullLayer() {
+ return record_full_layer_;
+}
+
scoped_ptr<cc::OutputSurface>
SynchronousCompositorFactoryImpl::CreateOutputSurface(int routing_id) {
scoped_ptr<SynchronousCompositorOutputSurface> output_surface(
@@ -240,4 +246,8 @@ void SynchronousCompositorFactoryImpl::SetDeferredGpuService(
service_ = service;
}
+void SynchronousCompositorFactoryImpl::DisableRecordFullLayer() {
+ record_full_layer_ = false;
+}
+
} // namespace content
diff --git a/content/browser/android/in_process/synchronous_compositor_factory_impl.h b/content/browser/android/in_process/synchronous_compositor_factory_impl.h
index 7fdc910..5565da9 100644
--- a/content/browser/android/in_process/synchronous_compositor_factory_impl.h
+++ b/content/browser/android/in_process/synchronous_compositor_factory_impl.h
@@ -32,6 +32,7 @@ class SynchronousCompositorFactoryImpl : public SynchronousCompositorFactory {
// SynchronousCompositorFactory
virtual scoped_refptr<base::MessageLoopProxy> GetCompositorMessageLoop()
OVERRIDE;
+ virtual bool RecordFullLayer() OVERRIDE;
virtual scoped_ptr<cc::OutputSurface> CreateOutputSurface(int routing_id)
OVERRIDE;
virtual InputHandlerManagerClient* GetInputHandlerManagerClient() OVERRIDE;
@@ -49,6 +50,7 @@ class SynchronousCompositorFactoryImpl : public SynchronousCompositorFactory {
void SetDeferredGpuService(
scoped_refptr<gpu::InProcessCommandBuffer::Service> service);
+ void DisableRecordFullLayer();
void CompositorInitializedHardwareDraw();
void CompositorReleasedHardwareDraw();
@@ -71,6 +73,8 @@ class SynchronousCompositorFactoryImpl : public SynchronousCompositorFactory {
scoped_refptr<StreamTextureFactorySynchronousImpl::ContextProvider>
video_context_provider_;
+ bool record_full_layer_;
+
// |num_hardware_compositor_lock_| is updated on UI thread only but can be
// read on renderer main thread.
base::Lock num_hardware_compositor_lock_;
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.cc b/content/browser/android/in_process/synchronous_compositor_impl.cc
index d7b3eb7..7a40281 100644
--- a/content/browser/android/in_process/synchronous_compositor_impl.cc
+++ b/content/browser/android/in_process/synchronous_compositor_impl.cc
@@ -89,6 +89,11 @@ void SynchronousCompositor::SetGpuService(
g_factory.Get().SetDeferredGpuService(service);
}
+// static
+void SynchronousCompositor::DisableRecordFullLayer() {
+ g_factory.Get().DisableRecordFullLayer();
+}
+
bool SynchronousCompositorImpl::InitializeHwDraw() {
DCHECK(CalledOnValidThread());
DCHECK(output_surface_);