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