Diff
Modified: trunk/Source/WTF/ChangeLog (129386 => 129387)
--- trunk/Source/WTF/ChangeLog 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WTF/ChangeLog 2012-09-24 17:45:12 UTC (rev 129387)
@@ -1,3 +1,14 @@
+2012-09-24 Joone Hur <[email protected]>
+
+ [GTK] Implement GraphicsLayer using Clutter
+ https://bugs.webkit.org/show_bug.cgi?id=73767
+
+ Reviewed by Martin Robinson.
+
+ Add ClutterActor and GraphicsLayerActor to GTypedefs.h.
+
+ * wtf/gobject/GTypedefs.h:
+
2012-09-23 Byungwoo Lee <[email protected]>
Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized.
Modified: trunk/Source/WTF/wtf/gobject/GTypedefs.h (129386 => 129387)
--- trunk/Source/WTF/wtf/gobject/GTypedefs.h 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WTF/wtf/gobject/GTypedefs.h 2012-09-24 17:45:12 UTC (rev 129387)
@@ -71,6 +71,11 @@
typedef struct _cairo_rectangle_int cairo_rectangle_int_t;
#endif
+#if USE(CLUTTER)
+typedef struct _ClutterActor ClutterActor;
+typedef struct _GraphicsLayerActor GraphicsLayerActor;
+#endif
+
#if PLATFORM(GTK)
typedef struct _GtkAction GtkAction;
typedef struct _GtkAdjustment GtkAdjustment;
Modified: trunk/Source/WebCore/ChangeLog (129386 => 129387)
--- trunk/Source/WebCore/ChangeLog 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WebCore/ChangeLog 2012-09-24 17:45:12 UTC (rev 129387)
@@ -1,3 +1,30 @@
+2012-09-24 Joone Hur <[email protected]>, Gustavo Noronha Silva <[email protected]>
+
+ [GTK] Implement GraphicsLayer using Clutter
+ https://bugs.webkit.org/show_bug.cgi?id=73767
+
+ Reviewed by Martin Robinson.
+
+ This patch is needed for enabling Accelerated Compositing(Clutter backend)
+ with the patches submitted in bug 92045 and 91940.
+
+ No new tests. This will be covered by pixel tests for Qt/GTK+ accelerated
+ compositing and 3D transforms.
+
+ * GNUmakefile.list.am:
+ * platform/clutter/GRefPtrClutter.cpp: Removed.
+ * platform/clutter/GRefPtrClutter.h: Removed.
+ * platform/graphics/clutter/PlatformClutterLayerClient.h: Added.
+ (WebCore):
+ (PlatformClutterLayerClient):
+ (WebCore::PlatformClutterLayerClient::~PlatformClutterLayerClient):
+ * platform/graphics/clutter/TransformationMatrixClutter.cpp: Added to convert CoglMatrix to
+ TransformationMatrix.
+ (WebCore):
+ (WebCore::TransformationMatrix::operator CoglMatrix):
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (TransformationMatrix):
+
2012-09-24 David Grogan <[email protected]>
Unprefix IndexedDB
Modified: trunk/Source/WebCore/GNUmakefile.list.am (129386 => 129387)
--- trunk/Source/WebCore/GNUmakefile.list.am 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WebCore/GNUmakefile.list.am 2012-09-24 17:45:12 UTC (rev 129387)
@@ -6238,10 +6238,9 @@
if USE_ACCELERATED_COMPOSITING
if USE_CLUTTER
webcore_sources += \
- Source/WebCore/platform/clutter/GRefPtrClutter.cpp \
- Source/WebCore/platform/clutter/GRefPtrClutter.h \
Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp \
- Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h
+ Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h \
+ Source/WebCore/platform/graphics/clutter/TransformationMatrixClutter.cpp
endif # END USE_CLUTTER
if USE_TEXTURE_MAPPER_CAIRO
Deleted: trunk/Source/WebCore/platform/clutter/GRefPtrClutter.cpp (129386 => 129387)
--- trunk/Source/WebCore/platform/clutter/GRefPtrClutter.cpp 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WebCore/platform/clutter/GRefPtrClutter.cpp 2012-09-24 17:45:12 UTC (rev 129387)
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2011 Collabora Ltd.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-#include "config.h"
-#include "GRefPtrClutter.h"
-
-#include <clutter/clutter.h>
-
-namespace WTF {
-
-template <> GRefPtr<ClutterActor> adoptGRef(ClutterActor* ptr)
-{
- if (g_object_is_floating(ptr))
- g_object_ref_sink(ptr);
-
- return GRefPtr<ClutterActor>(ptr, GRefPtrAdopt);
-}
-
-template <> ClutterActor* refGPtr<ClutterActor>(ClutterActor* ptr)
-{
- if (ptr) {
- if (g_object_is_floating(ptr))
- g_object_ref_sink(ptr);
-
- g_object_ref(ptr);
- }
-
- return ptr;
-}
-
-template <> void derefGPtr<ClutterActor>(ClutterActor* ptr)
-{
- if (ptr)
- g_object_unref(ptr);
-}
-
-}
Deleted: trunk/Source/WebCore/platform/clutter/GRefPtrClutter.h (129386 => 129387)
--- trunk/Source/WebCore/platform/clutter/GRefPtrClutter.h 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WebCore/platform/clutter/GRefPtrClutter.h 2012-09-24 17:45:12 UTC (rev 129387)
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2011 Collabora Ltd.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef GRefPtrClutter_h
-#define GRefPtrClutter_h
-
-#include <wtf/gobject/GRefPtr.h>
-
-typedef struct _ClutterActor ClutterActor;
-
-namespace WTF {
-
-template<> ClutterActor* refGPtr<ClutterActor>(ClutterActor* ptr);
-template<> void derefGPtr<ClutterActor>(ClutterActor* ptr);
-
-}
-
-#endif
Modified: trunk/Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h (129386 => 129387)
--- trunk/Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h 2012-09-24 17:45:12 UTC (rev 129387)
@@ -29,10 +29,10 @@
#if USE(ACCELERATED_COMPOSITING)
-#include "GRefPtrClutter.h"
#include "GraphicsLayer.h"
#include <clutter/clutter.h>
+#include <wtf/gobject/GRefPtr.h>
namespace WebCore {
Copied: trunk/Source/WebCore/platform/graphics/clutter/PlatformClutterLayerClient.h (from rev 129386, trunk/Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h) (0 => 129387)
--- trunk/Source/WebCore/platform/graphics/clutter/PlatformClutterLayerClient.h (rev 0)
+++ trunk/Source/WebCore/platform/graphics/clutter/PlatformClutterLayerClient.h 2012-09-24 17:45:12 UTC (rev 129387)
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2011 Collabora Ltd.
+ *
+ * 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. ``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 COMPUTER, INC. OR
+ * 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 PlatformClutterLayerClient_h
+#define PlatformClutterLayerClient_h
+
+#if USE(ACCELERATED_COMPOSITING)
+
+#include "GraphicsContext.h"
+#include "GraphicsLayer.h"
+
+namespace WebCore {
+
+class PlatformClutterLayerClient {
+public:
+ virtual void platformClutterLayerPaintContents(GraphicsContext&, const IntRect& inClip) = 0;
+ virtual void platformClutterLayerAnimationStarted(double startTime) = 0;
+
+protected:
+ virtual ~PlatformClutterLayerClient() { }
+};
+
+}
+
+#endif // USE(ACCELERATED_COMPOSITING)
+
+#endif // PlatformClutterLayerClient_h
+
Added: trunk/Source/WebCore/platform/graphics/clutter/TransformationMatrixClutter.cpp (0 => 129387)
--- trunk/Source/WebCore/platform/graphics/clutter/TransformationMatrixClutter.cpp (rev 0)
+++ trunk/Source/WebCore/platform/graphics/clutter/TransformationMatrixClutter.cpp 2012-09-24 17:45:12 UTC (rev 129387)
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2011 Collabora Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+#include "TransformationMatrix.h"
+
+#include <cogl/cogl.h>
+
+namespace WebCore {
+
+TransformationMatrix::operator CoglMatrix() const
+{
+ CoglMatrix matrix;
+
+ matrix.xx = m11();
+ matrix.xy = m21();
+ matrix.xz = m31();
+ matrix.xw = m41();
+
+ matrix.yx = m12();
+ matrix.yy = m22();
+ matrix.yz = m32();
+ matrix.yw = m42();
+
+ matrix.zx = m13();
+ matrix.zy = m23();
+ matrix.zz = m33();
+ matrix.zw = m43();
+
+ matrix.wx = m14();
+ matrix.wy = m24();
+ matrix.wz = m34();
+ matrix.ww = m44();
+
+ return matrix;
+}
+
+}
Modified: trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h (129386 => 129387)
--- trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h 2012-09-24 17:45:12 UTC (rev 129387)
@@ -34,6 +34,9 @@
#if USE(CA)
typedef struct CATransform3D CATransform3D;
#endif
+#if USE(CLUTTER)
+typedef struct _CoglMatrix CoglMatrix;
+#endif
#if USE(CG)
typedef struct CGAffineTransform CGAffineTransform;
#elif USE(CAIRO)
@@ -324,6 +327,9 @@
TransformationMatrix(const CATransform3D&);
operator CATransform3D() const;
#endif
+#if USE(CLUTTER)
+ operator CoglMatrix() const;
+#endif
#if USE(CG)
TransformationMatrix(const CGAffineTransform&);
operator CGAffineTransform() const;
Modified: trunk/Source/WebKit/gtk/ChangeLog (129386 => 129387)
--- trunk/Source/WebKit/gtk/ChangeLog 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WebKit/gtk/ChangeLog 2012-09-24 17:45:12 UTC (rev 129387)
@@ -1,3 +1,17 @@
+2012-09-24 Joone Hur <[email protected]>
+
+ [GTK] Implement GraphicsLayer using Clutter
+ https://bugs.webkit.org/show_bug.cgi?id=73767
+
+ Reviewed by Martin Robinson.
+
+ This patch is needed for enabling Accelerated Compositing(Clutter backend)
+ with the patches submitted in bug 92045 and 91940.
+
+ * WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
+ (WebKit::AcceleratedCompositingContext::scrollNonCompositedContents): Added to fix bulid break.
+ (WebKit):
+
2012-09-19 Danilo Cesar Lemes de Paula <[email protected]>
[gtk] add enable-media-stream to websettings
Modified: trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextClutter.cpp (129386 => 129387)
--- trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextClutter.cpp 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextClutter.cpp 2012-09-24 17:45:12 UTC (rev 129387)
@@ -112,6 +112,11 @@
gtk_widget_size_allocate(GTK_WIDGET(m_rootLayerEmbedder), &allocation);
}
+void AcceleratedCompositingContext::scrollNonCompositedContents(const IntRect& scrollRect, const IntSize& scrollOffset)
+{
+ notImplemented();
+}
+
static gboolean flushAndRenderLayersCallback(AcceleratedCompositingContext* context)
{
context->flushAndRenderLayers();
Modified: trunk/Source/WebKit2/ChangeLog (129386 => 129387)
--- trunk/Source/WebKit2/ChangeLog 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WebKit2/ChangeLog 2012-09-24 17:45:12 UTC (rev 129387)
@@ -1,3 +1,14 @@
+2012-09-24 Joone Hur <[email protected]>, Gustavo Noronha Silva <[email protected]>
+
+ [GTK] Implement GraphicsLayer using Clutter
+ https://bugs.webkit.org/show_bug.cgi?id=73767
+
+ Reviewed by Martin Robinson.
+
+ Fixed link errors by adding Clutter library and header to WebKit2 build.
+
+ * GNUmakefile.am:
+
2012-09-24 Carlos Garcia Campos <[email protected]>
[GTK] WebKitWebView:is-loading is not updated when the is loaded is started by link clicked navigation action
Modified: trunk/Source/WebKit2/GNUmakefile.am (129386 => 129387)
--- trunk/Source/WebKit2/GNUmakefile.am 2012-09-24 17:18:37 UTC (rev 129386)
+++ trunk/Source/WebKit2/GNUmakefile.am 2012-09-24 17:45:12 UTC (rev 129387)
@@ -101,6 +101,7 @@
$(webcore_cppflags) \
$(webcoregtk_cppflags) \
$(_javascript_core_cppflags) \
+ $(CLUTTER_CFLAGS) \
$(COVERAGE_CFLAGS) \
$(GEOCLUE_CFLAGS) \
$(GLIB_CFLAGS) \
@@ -162,6 +163,7 @@
libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@[email protected] \
libWebCoreGtk.la \
$(CAIRO_LIBS) \
+ $(CLUTTER_LIBS) \
$(COVERAGE_LDFLAGS) \
$(FARSTREAM_LIBS) \
$(GAIL_LIBS) \