Index: content/renderer/renderer_webkitplatformsupport_impl.cc |
diff --git a/content/renderer/renderer_webkitplatformsupport_impl.cc b/content/renderer/renderer_webkitplatformsupport_impl.cc |
index b8df27a25d13bbf46e32ebf9f09415bbef8e40ef..3c674fdb8e14b5c5b556af596631dac3409a0cda 100644 |
--- a/content/renderer/renderer_webkitplatformsupport_impl.cc |
+++ b/content/renderer/renderer_webkitplatformsupport_impl.cc |
@@ -20,6 +20,7 @@ |
#include "content/common/view_messages.h" |
#include "content/common/webmessageportchannel_impl.h" |
#include "content/public/common/content_switches.h" |
+#include "content/public/common/gpu_info.h" |
#include "content/public/renderer/content_renderer_client.h" |
#include "content/renderer/gamepad_shared_memory_reader.h" |
#include "content/renderer/media/audio_device.h" |
@@ -585,6 +586,20 @@ RendererWebKitPlatformSupportImpl::sharedWorkerRepository() { |
} |
} |
+bool RendererWebKitPlatformSupportImpl::canAccelerate2dCanvas() { |
+ RenderThreadImpl* thread = RenderThreadImpl::current(); |
+ GpuChannelHost* host = thread->EstablishGpuChannelSync( |
+ content::CAUSE_FOR_GPU_LAUNCH_CANVAS_2D); |
+ if (!host) |
+ return false; |
+ |
+ const content::GPUInfo& gpu_info = host->gpu_info(); |
+ if (gpu_info.can_lose_context || gpu_info.software_rendering) |
+ return false; |
+ |
+ return true; |
+} |
+ |
double RendererWebKitPlatformSupportImpl::audioHardwareSampleRate() { |
return audio_hardware::GetOutputSampleRate(); |
} |