Index: webkit/compositor_bindings/web_compositor_support_software_output_device.cc |
diff --git a/webkit/compositor_bindings/web_compositor_support_software_output_device.cc b/webkit/compositor_bindings/web_compositor_support_software_output_device.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a8505a9d14ce7e2b1e64a08278e654b7c5ac6662 |
--- /dev/null |
+++ b/webkit/compositor_bindings/web_compositor_support_software_output_device.cc |
@@ -0,0 +1,37 @@ |
+// Copyright 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "webkit/compositor_bindings/web_compositor_support_software_output_device.h" |
+ |
+namespace webkit { |
+ |
+WebCompositorSupportSoftwareOutputDevice:: |
+ WebCompositorSupportSoftwareOutputDevice() {} |
+ |
+WebCompositorSupportSoftwareOutputDevice:: |
+ ~WebCompositorSupportSoftwareOutputDevice() {} |
+ |
+WebKit::WebImage* WebCompositorSupportSoftwareOutputDevice::Lock( |
+ bool forWrite) { |
+ DCHECK(device_); |
+ image_ = device_->accessBitmap(forWrite); |
+ return &image_; |
+} |
+ |
+void WebCompositorSupportSoftwareOutputDevice::Unlock() { |
+ image_.reset(); |
+} |
+ |
+void WebCompositorSupportSoftwareOutputDevice::DidChangeViewportSize( |
+ gfx::Size size) { |
+ if (device_.get() && |
+ size.width() == device_->width() && |
+ size.height() == device_->height()) |
+ return; |
+ |
+ device_ = skia::AdoptRef(new SkDevice( |
+ SkBitmap::kARGB_8888_Config, size.width(), size.height(), true)); |
+} |
+ |
+} // namespace webkit |