[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
andersca at apple.com
andersca at apple.com
Mon Feb 21 00:12:06 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit 74d1dfc3579fee300457b61ceae4087abf990a64
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Jan 28 20:39:53 2011 +0000
2011-01-28 Anders Carlsson <andersca at apple.com>
Reviewed by Adam Roben.
Add ShareableSurface class
https://bugs.webkit.org/show_bug.cgi?id=53313
* Shared/mac/ShareableSurface.cpp: Added.
(WebKit::ShareableSurface::Handle::Handle):
Initialize the mach port.
(WebKit::ShareableSurface::Handle::~Handle):
Deallocate our send right if needed.
(WebKit::ShareableSurface::Handle::encode):
Encode the send right, and then null it out.
(WebKit::ShareableSurface::Handle::decode):
Decode the send right.
(WebKit::createIOSurface):
Create an IOSurface with the given size.
(WebKit::ShareableSurface::create):
Create an IOSurface, either from a size or from a handle.
(WebKit::ShareableSurface::~ShareableSurface):
Delete the texture and framebuffer.
(WebKit::ShareableSurface::createHandle):
Create a mach port from the surface.
(WebKit::ShareableSurface::attach):
Create an FBO if needed and bind it.
(WebKit::ShareableSurface::detach):
Unbind the FBO.
(WebKit::ShareableSurface::textureID):
Generate a new texture and bind it to the IOSurface.
* Shared/mac/ShareableSurface.h: Added.
* WebKit2.xcodeproj/project.pbxproj:
Add new files.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index 81c2c08..0b63c73 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,3 +1,49 @@
+2011-01-28 Anders Carlsson <andersca at apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add ShareableSurface class
+ https://bugs.webkit.org/show_bug.cgi?id=53313
+
+ * Shared/mac/ShareableSurface.cpp: Added.
+ (WebKit::ShareableSurface::Handle::Handle):
+ Initialize the mach port.
+
+ (WebKit::ShareableSurface::Handle::~Handle):
+ Deallocate our send right if needed.
+
+ (WebKit::ShareableSurface::Handle::encode):
+ Encode the send right, and then null it out.
+
+ (WebKit::ShareableSurface::Handle::decode):
+ Decode the send right.
+
+ (WebKit::createIOSurface):
+ Create an IOSurface with the given size.
+
+ (WebKit::ShareableSurface::create):
+ Create an IOSurface, either from a size or from a handle.
+
+ (WebKit::ShareableSurface::~ShareableSurface):
+ Delete the texture and framebuffer.
+
+ (WebKit::ShareableSurface::createHandle):
+ Create a mach port from the surface.
+
+ (WebKit::ShareableSurface::attach):
+ Create an FBO if needed and bind it.
+
+ (WebKit::ShareableSurface::detach):
+ Unbind the FBO.
+
+ (WebKit::ShareableSurface::textureID):
+ Generate a new texture and bind it to the IOSurface.
+
+ * Shared/mac/ShareableSurface.h: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
2011-01-27 Adam Roben <aroben at apple.com>
Change BinarySemaphore to wrap an auto-reset Win32 event on Windows
diff --git a/Source/WebKit2/Shared/mac/ShareableSurface.cpp b/Source/WebKit2/Shared/mac/ShareableSurface.cpp
new file mode 100644
index 0000000..5af10be
--- /dev/null
+++ b/Source/WebKit2/Shared/mac/ShareableSurface.cpp
@@ -0,0 +1,214 @@
+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "ShareableSurface.h"
+
+#include "ArgumentDecoder.h"
+#include "ArgumentEncoder.h"
+#include "MachPort.h"
+#include <IOSurface/IOSurface.h>
+#include <OpenGL/CGLIOSurface.h>
+#include <OpenGL/CGLMacro.h>
+#include <OpenGL/OpenGL.h>
+
+// The CGLMacro.h header adds an implicit CGLContextObj parameter to all OpenGL calls,
+// which is good because it allows us to make OpenGL calls without saving and restoring the
+// current context. The context argument is named "cgl_ctx" by default, so we the macro
+// below to declare this variable.
+#define DECLARE_GL_CONTEXT_VARIABLE(name) \
+ CGLContextObj cgl_ctx = (name)
+
+// It expects a context named "
+using namespace WebCore;
+
+namespace WebKit {
+
+ShareableSurface::Handle::Handle()
+ : m_port(MACH_PORT_NULL)
+{
+}
+
+ShareableSurface::Handle::~Handle()
+{
+ if (m_port != MACH_PORT_NULL)
+ mach_port_deallocate(mach_task_self(), m_port);
+}
+
+void ShareableSurface::Handle::encode(CoreIPC::ArgumentEncoder* encoder) const
+{
+ encoder->encode(CoreIPC::MachPort(m_port, MACH_MSG_TYPE_MOVE_SEND));
+ m_port = MACH_PORT_NULL;
+}
+
+bool ShareableSurface::Handle::decode(CoreIPC::ArgumentDecoder* decoder, Handle& handle)
+{
+ ASSERT_ARG(handle, handle.m_port == MACH_PORT_NULL);
+
+ CoreIPC::MachPort machPort;
+ if (!decoder->decode(machPort))
+ return false;
+
+ handle.m_port = machPort.port();
+ return false;
+}
+
+static RetainPtr<IOSurfaceRef> createIOSurface(const IntSize& size)
+{
+ int width = size.width();
+ int height = size.height();
+
+ unsigned bytesPerElement = 4;
+ unsigned long bytesPerRow = IOSurfaceAlignProperty(kIOSurfaceBytesPerRow, width * bytesPerElement);
+ if (!bytesPerRow)
+ return 0;
+
+ unsigned long allocSize = IOSurfaceAlignProperty(kIOSurfaceAllocSize, height * bytesPerRow);
+ if (!allocSize)
+ return 0;
+
+ unsigned pixelFormat = 'BGRA';
+
+ static const size_t numKeys = 6;
+ const void *keys[numKeys];
+ const void *values[numKeys];
+ keys[0] = kIOSurfaceWidth;
+ values[0] = CFNumberCreate(0, kCFNumberIntType, &width);
+ keys[1] = kIOSurfaceHeight;
+ values[1] = CFNumberCreate(0, kCFNumberIntType, &height);
+ keys[2] = kIOSurfacePixelFormat;
+ values[2] = CFNumberCreate(0, kCFNumberIntType, &pixelFormat);
+ keys[3] = kIOSurfaceBytesPerElement;
+ values[3] = CFNumberCreate(0, kCFNumberIntType, &bytesPerElement);
+ keys[4] = kIOSurfaceBytesPerRow;
+ values[4] = CFNumberCreate(0, kCFNumberLongType, &bytesPerRow);
+ keys[5] = kIOSurfaceAllocSize;
+ values[5] = CFNumberCreate(0, kCFNumberLongType, &allocSize);
+
+ RetainPtr<CFDictionaryRef> dictionary(AdoptCF, CFDictionaryCreate(0, keys, values, numKeys, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
+ for (unsigned i = 0; i < numKeys; i++)
+ CFRelease(values[i]);
+
+ return RetainPtr<IOSurfaceRef>(AdoptCF, IOSurfaceCreate(dictionary.get()));
+}
+
+PassRefPtr<ShareableSurface> ShareableSurface::create(CGLContextObj cglContextObj, const IntSize& size)
+{
+ RetainPtr<IOSurfaceRef> ioSurface = createIOSurface(size);
+ if (!ioSurface)
+ return 0;
+
+ return adoptRef(new ShareableSurface(cglContextObj, size, ioSurface.get()));
+}
+
+PassRefPtr<ShareableSurface> ShareableSurface::create(CGLContextObj cglContextObj, const Handle& handle)
+{
+ ASSERT_ARG(handle, handle.m_port != MACH_PORT_NULL);
+
+ RetainPtr<IOSurfaceRef> ioSurface(AdoptCF, IOSurfaceLookupFromMachPort(handle.m_port));
+ if (!ioSurface)
+ return 0;
+
+ IntSize size = IntSize(IOSurfaceGetWidth(ioSurface.get()), IOSurfaceGetHeight(ioSurface.get()));
+
+ return adoptRef(new ShareableSurface(cglContextObj, size, ioSurface.get()));
+}
+
+ShareableSurface::ShareableSurface(CGLContextObj cglContextObj, const IntSize& size, IOSurfaceRef ioSurface)
+ : m_cglContextObj(CGLRetainContext(cglContextObj))
+ , m_size(size)
+ , m_textureID(0)
+ , m_frameBufferObjectID(0)
+ , m_ioSurface(ioSurface)
+{
+}
+
+ShareableSurface::~ShareableSurface()
+{
+ DECLARE_GL_CONTEXT_VARIABLE(m_cglContextObj);
+
+ if (m_textureID)
+ glDeleteTextures(1, &m_textureID);
+
+ if (m_frameBufferObjectID)
+ glDeleteFramebuffersEXT(1, &m_frameBufferObjectID);
+
+ CGLReleaseContext(m_cglContextObj);
+}
+
+bool ShareableSurface::createHandle(Handle& handle)
+{
+ ASSERT_ARG(handle, handle.m_port == MACH_PORT_NULL);
+
+ mach_port_t port = IOSurfaceCreateMachPort(m_ioSurface.get());
+ if (port == MACH_PORT_NULL)
+ return false;
+
+ handle.m_port = port;
+ return true;
+}
+
+void ShareableSurface::attach()
+{
+ DECLARE_GL_CONTEXT_VARIABLE(m_cglContextObj);
+
+ if (!m_frameBufferObjectID) {
+ // Generate a frame buffer object.
+ glGenFramebuffersEXT(1, &m_frameBufferObjectID);
+
+ // Associate it with the texture.
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_frameBufferObjectID);
+ glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_RECTANGLE_EXT, textureID(), 0);
+ } else
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_frameBufferObjectID);
+}
+
+void ShareableSurface::detach()
+{
+ DECLARE_GL_CONTEXT_VARIABLE(m_cglContextObj);
+
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
+}
+
+unsigned ShareableSurface::textureID()
+{
+ if (m_textureID)
+ return m_textureID;
+
+ DECLARE_GL_CONTEXT_VARIABLE(m_cglContextObj);
+
+ // Generate a texture.
+ glGenTextures(1, &m_textureID);
+
+ // Associate it with our IOSurface.
+ glBindTexture(GL_TEXTURE_RECTANGLE_EXT, m_textureID);
+ CGLTexImageIOSurface2D(cgl_ctx, GL_TEXTURE_RECTANGLE_EXT, GL_RGBA8, m_size.width(), m_size.height(), GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, m_ioSurface.get(), 0);
+ glBindTexture(GL_TEXTURE_RECTANGLE_EXT, 0);
+
+ return m_textureID;
+}
+
+} // namespace WebKit
+
diff --git a/Source/WebKit2/Shared/mac/ShareableSurface.h b/Source/WebKit2/Shared/mac/ShareableSurface.h
new file mode 100644
index 0000000..dda1364
--- /dev/null
+++ b/Source/WebKit2/Shared/mac/ShareableSurface.h
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ShareableSurface_h
+#define ShareableSurface_h
+
+#include <WebCore/IntSize.h>
+#include <wtf/Noncopyable.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RetainPtr.h>
+
+typedef struct _CGLContextObject* CGLContextObj;
+typedef struct __IOSurface* IOSurfaceRef;
+
+namespace CoreIPC {
+ class ArgumentDecoder;
+ class ArgumentEncoder;
+}
+
+namespace WebKit {
+
+class ShareableSurface : public RefCounted<ShareableSurface> {
+public:
+ class Handle {
+ WTF_MAKE_NONCOPYABLE(Handle);
+
+ public:
+ Handle();
+ ~Handle();
+
+ void encode(CoreIPC::ArgumentEncoder*) const;
+ static bool decode(CoreIPC::ArgumentDecoder*, Handle&);
+
+ private:
+ friend class ShareableSurface;
+
+ mutable mach_port_t m_port;
+ };
+
+ // Create a shareable surface with the given size. Returns 0 on failure.
+ static PassRefPtr<ShareableSurface> create(CGLContextObj, const WebCore::IntSize&);
+
+ // Create a shareable surface from a handle. Returns 0 on failure.
+ static PassRefPtr<ShareableSurface> create(CGLContextObj, const Handle&);
+
+ ~ShareableSurface();
+
+ bool createHandle(Handle&);
+
+ unsigned textureID();
+
+ void attach();
+ void detach();
+
+private:
+ ShareableSurface(CGLContextObj, const WebCore::IntSize&, IOSurfaceRef);
+
+ // The OpenGL context.
+ CGLContextObj m_cglContextObj;
+
+ // The size of the surface.
+ WebCore::IntSize m_size;
+
+ // The ID of the texture.
+ unsigned m_textureID;
+
+ // The frame buffer object ID of the texture; used when the surface is used as a render destination.
+ unsigned m_frameBufferObjectID;
+
+ RetainPtr<IOSurfaceRef> m_ioSurface;
+};
+
+} // namespace WebKit
+
+#endif // ShareableSurface_h
diff --git a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
index fc01334..3ee06f3 100644
--- a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
+++ b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
@@ -174,6 +174,8 @@
1A910072126675C4001842F5 /* FindIndicator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A910070126675C4001842F5 /* FindIndicator.cpp */; };
1A91010A1268C8CA001842F5 /* FindIndicatorWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9101081268C8CA001842F5 /* FindIndicatorWindow.h */; };
1A91010B1268C8CA001842F5 /* FindIndicatorWindow.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A9101091268C8CA001842F5 /* FindIndicatorWindow.mm */; };
+ 1A9636BC12F348490078A062 /* ShareableSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A9636BA12F348490078A062 /* ShareableSurface.cpp */; };
+ 1A9636BD12F348490078A062 /* ShareableSurface.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9636BB12F348490078A062 /* ShareableSurface.h */; };
1AA1CC5D100FA1A10078DEBC /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AA1CC5C100FA1A10078DEBC /* QuartzCore.framework */; };
1AA1CD07100FA1BA0078DEBC /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AA1CD06100FA1BA0078DEBC /* Carbon.framework */; };
1AA2E51D12E4C05E00BC4966 /* CGUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AA2E51B12E4C05E00BC4966 /* CGUtilities.h */; };
@@ -918,6 +920,8 @@
1A910070126675C4001842F5 /* FindIndicator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FindIndicator.cpp; sourceTree = "<group>"; };
1A9101081268C8CA001842F5 /* FindIndicatorWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FindIndicatorWindow.h; sourceTree = "<group>"; };
1A9101091268C8CA001842F5 /* FindIndicatorWindow.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FindIndicatorWindow.mm; sourceTree = "<group>"; };
+ 1A9636BA12F348490078A062 /* ShareableSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShareableSurface.cpp; sourceTree = "<group>"; };
+ 1A9636BB12F348490078A062 /* ShareableSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShareableSurface.h; sourceTree = "<group>"; };
1AA1C79A100E7FC50078DEBC /* WebCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1AA1C7DE100E846E0078DEBC /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1AA1CC5C100FA1A10078DEBC /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; };
@@ -2354,13 +2358,16 @@
BC111B5A112F628200337BAB /* mac */ = {
isa = PBXGroup;
children = (
- C574A57F12E66681002DFE98 /* PasteboardTypes.h */,
- C574A58012E66681002DFE98 /* PasteboardTypes.mm */,
1A6F9FB611E1408500DB1371 /* CommandLineMac.cpp */,
C02BFF1D1251502E009CCBEA /* NativeWebKeyboardEventMac.mm */,
- BCF505E61243047B005955AE /* PlatformCertificateInfo.mm */,
+ C574A57F12E66681002DFE98 /* PasteboardTypes.h */,
+ C574A58012E66681002DFE98 /* PasteboardTypes.mm */,
BCF505E51243047B005955AE /* PlatformCertificateInfo.h */,
+ BCF505E61243047B005955AE /* PlatformCertificateInfo.mm */,
E1CC1B8F12D7EADF00625838 /* PrintInfoMac.mm */,
+ 1AAB4AA91296F1540023952F /* SandboxExtensionMac.mm */,
+ 1A9636BA12F348490078A062 /* ShareableSurface.cpp */,
+ 1A9636BB12F348490078A062 /* ShareableSurface.h */,
BC9E95D211449B0300870E71 /* UpdateChunk.cpp */,
BC9E95D111449B0300870E71 /* UpdateChunk.h */,
BCE23262122C6CF300D5C35A /* WebCoreArgumentCodersMac.mm */,
@@ -2369,7 +2376,6 @@
905620E512BC2476000799B6 /* WebMemorySampler.mac.mm */,
BCE231C0122C466E00D5C35A /* WebURLRequestMac.mm */,
BC90A1D5122DD66A00CC8C50 /* WebURLResponseMac.mm */,
- 1AAB4AA91296F1540023952F /* SandboxExtensionMac.mm */,
);
path = mac;
sourceTree = "<group>";
@@ -3101,6 +3107,7 @@
E134F01712EA5D33004EC58D /* WKPrintingView.h in Headers */,
1A186EEA12EF7618008E5F37 /* LayerTreeHost.h in Headers */,
BFA6179F12F0B99D0033E0CA /* WKViewPrivate.h in Headers */,
+ 1A9636BD12F348490078A062 /* ShareableSurface.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -3568,6 +3575,7 @@
1A186EEB12EF7618008E5F37 /* LayerTreeHost.cpp in Sources */,
1A18718512EF9877008E5F37 /* LayerTreeHostMac.mm in Sources */,
6501BD1A12F1243400E9F248 /* WKBundleInspector.cpp in Sources */,
+ 1A9636BC12F348490078A062 /* ShareableSurface.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list