From d00ba4ae4293e9559ef88bb51e83a239bd3cd6d4 Mon Sep 17 00:00:00 2001 From: "weinig@apple.com" Date: Tue, 28 Dec 2010 00:01:08 +0000 Subject: WebKit2: Add API for getting snapshots https://bugs.webkit.org/show_bug.cgi?id=51656 Reviewed by Anders Carlsson. * Shared/API/c/WKBase.h: * Shared/API/c/WKImage.cpp: Added. (WKImageGetTypeID): (WKImageCreate): (WKImageGetSize): * Shared/API/c/WKImage.h: Added. * Shared/WebImage.cpp: Added. (WebKit::WebImage::create): (WebKit::WebImage::size): * Shared/WebImage.h: Added. (WebKit::WebImage::backingStore): (WebKit::WebImage::WebImage): (WebKit::WebImage::type): Add a general purpose API image class. * Shared/API/c/cg: Added. * Shared/API/c/cg/WKImageCG.cpp: Added. (WKImageCreateCGImage): * Shared/API/c/cg/WKImageCG.h: Added. Add function to convert a WKImageRef to a CGImageRef for platforms that use CG. * Shared/API/c/WKSharedAPICast.h: (WebKit::toFloatRect): (WebKit::toIntSize): (WebKit::toIntPoint): (WebKit::toIntRect): (WebKit::toImageOptions): Make conversion functions that are ambiguous more explicit. * Shared/APIObject.h: * Shared/BackingStore.h: (WebKit::BackingStore::isBackedBySharedMemory): * Shared/ImageOptions.h: Added. * Shared/UserMessageCoders.h: (WebKit::UserMessageEncoder::baseEncode): (WebKit::UserMessageDecoder::baseDecode): Allow a WKImageRef to be passed in user messages. Right now, it only works if the image is sharable. * UIProcess/API/C/WKPage.cpp: (WKPageScaleWebView): * UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::windowFrame): Use the more explicit conversion function name. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: (WKBundlePageCreateSnapshotInViewCoordinates): (WKBundlePageCreateSnapshotInDocumentCoordinates): * WebProcess/InjectedBundle/API/c/WKBundlePage.h: * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: (WKBundlePageOverlaySetNeedsDisplay): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::snapshotInViewCoordinates): (WebKit::WebPage::snapshotInDocumentCoordinates): Add function to take the snapshot. * WebProcess/WebPage/WebPage.h: * WebKit2.pro: * WebKit2.xcodeproj/project.pbxproj: * win/WebKit2.vcproj: Add new files. git-svn-id: svn://svn.chromium.org/blink/trunk@74698 bbb929c8-8fbe-4397-9dbb-9b2b20218538 --- third_party/WebKit/WebKit2/WebProcess/WebPage/WebPage.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'third_party/WebKit/WebKit2/WebProcess/WebPage/WebPage.h') diff --git a/third_party/WebKit/WebKit2/WebProcess/WebPage/WebPage.h b/third_party/WebKit/WebKit2/WebProcess/WebPage/WebPage.h index 1cf257c..797478e 100644 --- a/third_party/WebKit/WebKit2/WebProcess/WebPage/WebPage.h +++ b/third_party/WebKit/WebKit2/WebProcess/WebPage/WebPage.h @@ -29,6 +29,7 @@ #include "APIObject.h" #include "DrawingArea.h" #include "FindController.h" +#include "ImageOptions.h" #include "InjectedBundlePageContextMenuClient.h" #include "InjectedBundlePageEditorClient.h" #include "InjectedBundlePageFormClient.h" @@ -75,6 +76,7 @@ class WebContextMenu; class WebContextMenuItemData; class WebEvent; class WebFrame; +class WebImage; class WebInspector; class WebKeyboardEvent; class WebMouseEvent; @@ -206,6 +208,9 @@ public: void installPageOverlay(PassRefPtr); void uninstallPageOverlay(PageOverlay*); + PassRefPtr snapshotInViewCoordinates(const WebCore::IntRect&, ImageOptions); + PassRefPtr snapshotInDocumentCoordinates(const WebCore::IntRect&, ImageOptions); + static const WebEvent* currentEvent(); FindController& findController() { return m_findController; } -- cgit v1.1