Title: [100217] trunk/Source/WebKit/chromium
Revision
100217
Author
[email protected]
Date
2011-11-14 16:51:31 -0800 (Mon, 14 Nov 2011)

Log Message

Expose compositeAndReadback in WebLayerTreeView
https://bugs.webkit.org/show_bug.cgi?id=72188

Patch by Ian Vollick <[email protected]> on 2011-11-14
Reviewed by Darin Fisher.

* public/WebLayerTreeView.h:
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::compositeAndReadback):

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (100216 => 100217)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-11-15 00:47:18 UTC (rev 100216)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-11-15 00:51:31 UTC (rev 100217)
@@ -1,3 +1,14 @@
+2011-11-14  Ian Vollick  <[email protected]>
+
+        Expose compositeAndReadback in WebLayerTreeView
+        https://bugs.webkit.org/show_bug.cgi?id=72188
+
+        Reviewed by Darin Fisher.
+
+        * public/WebLayerTreeView.h:
+        * src/WebLayerTreeView.cpp:
+        (WebKit::WebLayerTreeView::compositeAndReadback):
+
 2011-11-14  Raymond Toy  <[email protected]>
 
         Add buffering to handle mismatch between hardware buffer size and webaudio render size

Modified: trunk/Source/WebKit/chromium/public/WebLayerTreeView.h (100216 => 100217)


--- trunk/Source/WebKit/chromium/public/WebLayerTreeView.h	2011-11-15 00:47:18 UTC (rev 100216)
+++ trunk/Source/WebKit/chromium/public/WebLayerTreeView.h	2011-11-15 00:51:31 UTC (rev 100217)
@@ -37,6 +37,7 @@
 namespace WebKit {
 class WebLayer;
 class WebLayerTreeViewClient;
+struct WebRect;
 struct WebSize;
 
 class WebLayerTreeView {
@@ -81,6 +82,14 @@
     WEBKIT_EXPORT void setViewportSize(const WebSize&);
     WEBKIT_EXPORT WebSize viewportSize() const;
 
+    // Composites and attempts to read back the result into the provided
+    // buffer. If it wasn't possible, e.g. due to context lost, will return
+    // false. Pixel format is 32bit (RGBA), and the provided buffer must be
+    // large enough contain viewportSize().width() * viewportSize().height()
+    // pixels. The WebLayerTreeView does not assume ownership of the buffer.
+    // The buffer is not modified if the false is returned.
+    WEBKIT_EXPORT bool compositeAndReadback(void *pixels, const WebRect&);
+
 #if WEBKIT_IMPLEMENTATION
     WebLayerTreeView(const WTF::PassRefPtr<WebCore::CCLayerTreeHost>&);
     WebLayerTreeView& operator=(const WTF::PassRefPtr<WebCore::CCLayerTreeHost>&);

Modified: trunk/Source/WebKit/chromium/src/WebLayerTreeView.cpp (100216 => 100217)


--- trunk/Source/WebKit/chromium/src/WebLayerTreeView.cpp	2011-11-15 00:47:18 UTC (rev 100216)
+++ trunk/Source/WebKit/chromium/src/WebLayerTreeView.cpp	2011-11-15 00:51:31 UTC (rev 100217)
@@ -27,6 +27,7 @@
 #include "WebLayerTreeView.h"
 
 #include "WebLayerTreeViewImpl.h"
+#include "WebRect.h"
 #include "WebSize.h"
 #include "cc/CCLayerTreeHost.h"
 
@@ -84,6 +85,11 @@
     return WebSize(m_private->viewportSize());
 }
 
+bool WebLayerTreeView::compositeAndReadback(void *pixels, const WebRect& rect)
+{
+    return m_private->compositeAndReadback(pixels, rect);
+}
+
 WebLayerTreeView::WebLayerTreeView(const PassRefPtr<CCLayerTreeHost>& node)
     : m_private(node)
 {
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to