[webkit-changes] [215613] trunk/Source/WebCore

2017-04-21 Thread yoon
Title: [215613] trunk/Source/WebCore








Revision 215613
Author y...@igalia.com
Date 2017-04-21 09:58:49 -0700 (Fri, 21 Apr 2017)


Log Message
Do not paint the border of the box if the dirty region does not intersect with border area
https://bugs.webkit.org/show_bug.cgi?id=170988

Reviewed by Simon Fraser.

No new tests, since there is no change in behavior.

* platform/graphics/GeometryUtilities.cpp:
(WebCore::ellipseContainsPoint):
Checks if a point is within an ellipse.

* platform/graphics/GeometryUtilities.h:
Replace header-guards with #pragma once.

* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::contains):
Implemented to know the dirty rectangle intersects with rounded rectangle or not.
* platform/graphics/RoundedRect.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBorder):
When typing in decorated text box, the dirty rect generated only for the
inside of the text box, not for the decorations.  So we can avoid the
calculations to draw borders if the inner border totally covers the
target surface. It will optimize the rendering process since we don't
have to render border decorations whenever we type somethings in side of
the text input element.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/GeometryUtilities.cpp
trunk/Source/WebCore/platform/graphics/GeometryUtilities.h
trunk/Source/WebCore/platform/graphics/RoundedRect.cpp
trunk/Source/WebCore/platform/graphics/RoundedRect.h
trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (215612 => 215613)

--- trunk/Source/WebCore/ChangeLog	2017-04-21 16:40:57 UTC (rev 215612)
+++ trunk/Source/WebCore/ChangeLog	2017-04-21 16:58:49 UTC (rev 215613)
@@ -1,3 +1,32 @@
+2017-04-21  Gwang Yoon Hwang  <y...@igalia.com>
+
+Do not paint the border of the box if the dirty region does not intersect with border area
+https://bugs.webkit.org/show_bug.cgi?id=170988
+
+Reviewed by Simon Fraser.
+
+No new tests, since there is no change in behavior.
+
+* platform/graphics/GeometryUtilities.cpp:
+(WebCore::ellipseContainsPoint):
+Checks if a point is within an ellipse.
+
+* platform/graphics/GeometryUtilities.h:
+Replace header-guards with #pragma once.
+
+* platform/graphics/RoundedRect.cpp:
+(WebCore::RoundedRect::contains):
+Implemented to know the dirty rectangle intersects with rounded rectangle or not.
+* platform/graphics/RoundedRect.h:
+* rendering/RenderBoxModelObject.cpp:
+(WebCore::RenderBoxModelObject::paintBorder):
+When typing in decorated text box, the dirty rect generated only for the
+inside of the text box, not for the decorations.  So we can avoid the
+calculations to draw borders if the inner border totally covers the
+target surface. It will optimize the rendering process since we don't
+have to render border decorations whenever we type somethings in side of
+the text input element.
+
 2017-04-21  Anders Carlsson  <ander...@apple.com>
 
 Remove another use of toPaymentAuthorizationStatus


Modified: trunk/Source/WebCore/platform/graphics/GeometryUtilities.cpp (215612 => 215613)

--- trunk/Source/WebCore/platform/graphics/GeometryUtilities.cpp	2017-04-21 16:40:57 UTC (rev 215612)
+++ trunk/Source/WebCore/platform/graphics/GeometryUtilities.cpp	2017-04-21 16:58:49 UTC (rev 215613)
@@ -146,4 +146,18 @@
 return destRect;
 }
 
+bool ellipseContainsPoint(const FloatPoint& center, const FloatSize& radii, const FloatPoint& point)
+{
+FloatPoint transformedPoint(point);
+transformedPoint.move(-center.x(), -center.y());
+transformedPoint.scale(radii.height(), radii.width());
+float radius = radii.width() * radii.height();
+
+if (transformedPoint.x() > radius || transformedPoint.y() > radius)
+return false;
+if (transformedPoint.x() + transformedPoint.y() <= radius)
+return true;
+return (transformedPoint.lengthSquared() <= radius * radius);
 }
+
+}


Modified: trunk/Source/WebCore/platform/graphics/GeometryUtilities.h (215612 => 215613)

--- trunk/Source/WebCore/platform/graphics/GeometryUtilities.h	2017-04-21 16:40:57 UTC (rev 215612)
+++ trunk/Source/WebCore/platform/graphics/GeometryUtilities.h	2017-04-21 16:58:49 UTC (rev 215613)
@@ -23,8 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef GeometryUtilities_h
-#define GeometryUtilities_h
+#pragma once
 
 #include "FloatRect.h"
 #include "IntRect.h"
@@ -51,6 +50,5 @@
 // Compute a rect that encloses all points covered by the given rect if it were rotated a full turn around (0,0).
 FloatRect boundsOfRotatingRect(const FloatRect&);
 
+bool ellipseContainsPoint(const FloatPoint& center, const FloatSize& radii, const FloatPoint&);
 }
-
-#endif // GeometryUtili

[webkit-changes] [206907] trunk/Source/WebCore

2016-10-07 Thread yoon
Title: [206907] trunk/Source/WebCore








Revision 206907
Author y...@igalia.com
Date 2016-10-07 04:45:22 -0700 (Fri, 07 Oct 2016)


Log Message
[GTK] Remove unneeded creation of TextureMapperPlatformLayerProxy
https://bugs.webkit.org/show_bug.cgi?id=163101

Reviewed by Žan Doberšek.

Covered by existing tests.

* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBufferData::ImageBufferData): Modified not to create
TextureMapperPlatformLayerProxy if it is not created for the
accelerated 2d canvas.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (206906 => 206907)

--- trunk/Source/WebCore/ChangeLog	2016-10-07 09:28:27 UTC (rev 206906)
+++ trunk/Source/WebCore/ChangeLog	2016-10-07 11:45:22 UTC (rev 206907)
@@ -1,3 +1,17 @@
+2016-10-07  Gwang Yoon Hwang  <y...@igalia.com>
+
+[GTK] Remove unneeded creation of TextureMapperPlatformLayerProxy
+https://bugs.webkit.org/show_bug.cgi?id=163101
+
+Reviewed by Žan Doberšek.
+
+Covered by existing tests.
+
+* platform/graphics/cairo/ImageBufferCairo.cpp:
+(WebCore::ImageBufferData::ImageBufferData): Modified not to create
+TextureMapperPlatformLayerProxy if it is not created for the
+accelerated 2d canvas.
+
 2016-10-07  Fujii Hironori  <hironori.fu...@sony.com>
 
 Use 'use lib $FindBin::Bin' to append Perl module include path


Modified: trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp (206906 => 206907)

--- trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp	2016-10-07 09:28:27 UTC (rev 206906)
+++ trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp	2016-10-07 11:45:22 UTC (rev 206907)
@@ -74,12 +74,15 @@
 , m_renderingMode(renderingMode)
 #if ENABLE(ACCELERATED_2D_CANVAS)
 #if USE(COORDINATED_GRAPHICS_THREADED)
-, m_platformLayerProxy(adoptRef(new TextureMapperPlatformLayerProxy))
 , m_compositorTexture(0)
 #endif
 , m_texture(0)
 #endif
 {
+#if ENABLE(ACCELERATED_2D_CANVAS) && USE(COORDINATED_GRAPHICS_THREADED)
+if (m_renderingMode == RenderingMode::Accelerated)
+m_platformLayerProxy = adoptRef(new TextureMapperPlatformLayerProxy);
+#endif
 }
 
 ImageBufferData::~ImageBufferData()






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [206861] trunk/Source/WebCore

2016-10-06 Thread yoon
Title: [206861] trunk/Source/WebCore








Revision 206861
Author y...@igalia.com
Date 2016-10-06 03:44:31 -0700 (Thu, 06 Oct 2016)


Log Message
[GTK] Build fix for X11 and GStreamerGL after r183731
https://bugs.webkit.org/show_bug.cgi?id=163000

Reviewed by Philippe Normand.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
Include gstgldisplay_egl.h if platform uses EGL.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (206860 => 206861)

--- trunk/Source/WebCore/ChangeLog	2016-10-06 10:38:13 UTC (rev 206860)
+++ trunk/Source/WebCore/ChangeLog	2016-10-06 10:44:31 UTC (rev 206861)
@@ -1,3 +1,13 @@
+2016-10-06  Gwang Yoon Hwang  <y...@igalia.com>
+
+[GTK] Build fix for X11 and GStreamerGL after r183731
+https://bugs.webkit.org/show_bug.cgi?id=163000
+
+Reviewed by Philippe Normand.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+Include gstgldisplay_egl.h if platform uses EGL.
+
 2016-10-06  Mario Sanchez Prada  <ma...@endlessm.com>
 
 [GStreamer] Can't play any video with GSTREAMER_GL enabled


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (206860 => 206861)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2016-10-06 10:38:13 UTC (rev 206860)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2016-10-06 10:44:31 UTC (rev 206861)
@@ -54,7 +54,9 @@
 #if USE(GLX)
 #include "GLContextGLX.h"
 #include 
-#elif USE(EGL)
+#endif
+
+#if USE(EGL)
 #include "GLContextEGL.h"
 #include 
 #endif






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [201076] trunk

2016-05-18 Thread yoon
Title: [201076] trunk








Revision 201076
Author y...@igalia.com
Date 2016-05-18 07:30:41 -0700 (Wed, 18 May 2016)


Log Message
[GStreamer] Use FakeSink to get a decoded texture from a pipeline
https://bugs.webkit.org/show_bug.cgi?id=153641

Reviewed by Philippe Normand.

.:

* Source/cmake/FindGStreamer.cmake: Bump gst-gl version to 1.8.0

Source/WebCore:

Relying on GstGLImageSink to use GStreamerGL brings a lot of overheads such as
window handling, context switching and overlay handling which are not needed in
our case.

This patch replaces GstGLImageSink with a custom GstBin which has a
GstGLUpload, GstGLColorConvert, and GstFakeSink.

GstFakeSink sends decoded frames via handoff signal from the vqueue thread of
GStreamer. Previously,  GstGLImageSink passes frames through GStreamer's GL
thread, which adds additional overhead.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::GstVideoFrameHolder::~GstVideoFrameHolder): Modified to
unmap GstVideoFrame without async call. GstGLMemory will unmap itself
in gl-thread.
(WebCore::MediaPlayerPrivateGStreamerBase::drawCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL): Split
out creating of the gst-gl video sink into the separte method.
(WebCore::MediaPlayerPrivateGStreamerBase::paint): Remove assertion
for the threaded compositor. It can be called by focusing event.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

Modified Paths

trunk/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h
trunk/Source/cmake/FindGStreamer.cmake




Diff

Modified: trunk/ChangeLog (201075 => 201076)

--- trunk/ChangeLog	2016-05-18 14:21:37 UTC (rev 201075)
+++ trunk/ChangeLog	2016-05-18 14:30:41 UTC (rev 201076)
@@ -1,3 +1,12 @@
+2016-05-18  Gwang Yoon Hwang  <y...@igalia.com>
+
+[GStreamer] Use FakeSink to get a decoded texture from a pipeline
+https://bugs.webkit.org/show_bug.cgi?id=153641
+
+Reviewed by Philippe Normand.
+
+* Source/cmake/FindGStreamer.cmake: Bump gst-gl version to 1.8.0
+
 2016-05-17  Dean Jackson  <d...@apple.com>
 
 Remove ES6_GENERATORS flag


Modified: trunk/Source/WebCore/ChangeLog (201075 => 201076)

--- trunk/Source/WebCore/ChangeLog	2016-05-18 14:21:37 UTC (rev 201075)
+++ trunk/Source/WebCore/ChangeLog	2016-05-18 14:30:41 UTC (rev 201076)
@@ -1,3 +1,32 @@
+2016-05-18  Gwang Yoon Hwang  <y...@igalia.com>
+
+[GStreamer] Use FakeSink to get a decoded texture from a pipeline
+https://bugs.webkit.org/show_bug.cgi?id=153641
+
+Reviewed by Philippe Normand.
+
+Relying on GstGLImageSink to use GStreamerGL brings a lot of overheads such as
+window handling, context switching and overlay handling which are not needed in
+our case.
+
+This patch replaces GstGLImageSink with a custom GstBin which has a
+GstGLUpload, GstGLColorConvert, and GstFakeSink.
+
+GstFakeSink sends decoded frames via handoff signal from the vqueue thread of
+GStreamer. Previously,  GstGLImageSink passes frames through GStreamer's GL
+thread, which adds additional overhead.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+(WebCore::GstVideoFrameHolder::~GstVideoFrameHolder): Modified to
+unmap GstVideoFrame without async call. GstGLMemory will unmap itself
+in gl-thread.
+(WebCore::MediaPlayerPrivateGStreamerBase::drawCallback):
+(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL): Split
+out creating of the gst-gl video sink into the separte method.
+(WebCore::MediaPlayerPrivateGStreamerBase::paint): Remove assertion
+for the threaded compositor. It can be called by focusing event.
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
+
 2016-05-18  Antti Koivisto  <an...@apple.com>
 
 Resolve !important properties from different shadow trees in a single pass.


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (201075 => 201076)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2016-05-18 14:21:37 UTC (rev 201075)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2016-05-18 14:30:41 UTC (rev 201076)
@@ -115,13 +115,10 @@
 m_flags = GST_VIDEO_INFO_HAS_ALPHA() ? TextureMapperGL::ShouldBlend : 0;
 
 GstBuffer* buffer = gst_sample_get_buffer(sample);
-m_videoFrame = new GstVideoFrame();
-if (UNLIKELY(!gst_video_frame_map(m_videoFrame, , buffer, static_cast(GST_MAP_READ | GST_MAP_GL {
-delete m_videoFrame;
+if (UNLIKELY(!gst_video_frame_map(_videoFrame, , buffer, static_cast(GST_MAP_READ | G

[webkit-changes] [196803] trunk/Source

2016-02-18 Thread yoon
Title: [196803] trunk/Source








Revision 196803
Author y...@igalia.com
Date 2016-02-18 23:27:28 -0800 (Thu, 18 Feb 2016)


Log Message
[GTK] Limit the number of tiles according to the visible area
https://bugs.webkit.org/show_bug.cgi?id=126122

Reviewed by Carlos Garcia Campos.

Source/WebCore:

TextureMapperTiledBackingStore creates tiles for whole layer bounds, which
means it creates the huge amount of textures if there is an excessively big
layer.  Not only it wastes the memory and the CPU time, it even can crash GPU
drivers.

This patch modifies TextureMapperTiledBackingStore to take into account the
visible area with a coverage multiplier when creating tiles.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
Set a flag to recalculate the visible area of the layer when there are
geometric changes.
(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
(WebCore::GraphicsLayerTextureMapper::markVisibleRectAsDirty):
(WebCore::GraphicsLayerTextureMapper::selfOrAncestorHasActiveTransformAnimation):
(WebCore::GraphicsLayerTextureMapper::computeTransformedVisibleRect):
Compute the inverse transform matrix to map a global visible are to
the local visible area.
(WebCore::clampToContentsRectIfRectIsInfinite):
(WebCore::GraphicsLayerTextureMapper::transformedVisibleRect):
* platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
(WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
In HiDPI, the directly composited image is uploaded to the unscaled
texture to reduce memory usages. So we should apply device scale
factor to render it correctly.
(WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
Create tiles which covered by visible rect with a coverage multiplier.

Source/WebKit2:

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::initialize): Because we creates
nonCompositingLayer with a size of current view, we should not apply
the currently visible rect when creating / deleting tiles.
(WebKit::LayerTreeHostGtk::flushPendingLayerChanges): Passes the current
visible rect to the GraphicsLayers.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (196802 => 196803)

--- trunk/Source/WebCore/ChangeLog	2016-02-19 07:22:36 UTC (rev 196802)
+++ trunk/Source/WebCore/ChangeLog	2016-02-19 07:27:28 UTC (rev 196803)
@@ -1,3 +1,41 @@
+2016-02-18  Gwang Yoon Hwang  <y...@igalia.com>
+
+[GTK] Limit the number of tiles according to the visible area
+https://bugs.webkit.org/show_bug.cgi?id=126122
+
+Reviewed by Carlos Garcia Campos.
+
+TextureMapperTiledBackingStore creates tiles for whole layer bounds, which
+means it creates the huge amount of textures if there is an excessively big
+layer.  Not only it wastes the memory and the CPU time, it even can crash GPU
+drivers.
+
+This patch modifies TextureMapperTiledBackingStore to take into account the
+visible area with a coverage multiplier when creating tiles.
+
+* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
+Set a flag to recalculate the visible area of the layer when there are
+geometric changes.
+(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
+(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
+(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers):
+(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
+(WebCore::GraphicsLayerTextureMapper::markVisibleRectAsDirty):
+(WebCore::GraphicsLayerTextureMapper::selfOrAncestorHasActiveTransformAnimation):
+(WebCore::GraphicsLayerTextureMapper::computeTransformedVisibleRect):
+Compute the inverse transform matrix to map a global visible are to
+the local visible area.
+(WebCore::clampToContentsRectIfRectIsInfinite):
+(WebCore::GraphicsLayerTextureMapper::transformedVisibleRect):
+* platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
+(WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
+In HiDPI, the directly composited image is

[webkit-changes] [195736] trunk

2016-01-28 Thread yoon
Title: [195736] trunk








Revision 195736
Author y...@igalia.com
Date 2016-01-28 07:16:02 -0800 (Thu, 28 Jan 2016)


Log Message
[GStreamer] Clean up includes and headers related with GStreamerGL
https://bugs.webkit.org/show_bug.cgi?id=153590

Reviewed by Philippe Normand.

Source/WebCore:

Remove gstglmemory from the including list and reorder includes to
organize GSTREAMER_GL related headers. It violates style rules of the
include order, but there is no clean way to include gst/gl/gl.h
without violating it.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

Tools:

* Scripts/webkitpy/style/checker.py: Skips
include_order check for MediaPlayerPrivateGStreamerBase.cpp
Removes VideoSinkGStreamer1.cpp which doesn't exist anymore.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h
trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/style/checker.py




Diff

Modified: trunk/Source/WebCore/ChangeLog (195735 => 195736)

--- trunk/Source/WebCore/ChangeLog	2016-01-28 09:06:30 UTC (rev 195735)
+++ trunk/Source/WebCore/ChangeLog	2016-01-28 15:16:02 UTC (rev 195736)
@@ -1,5 +1,20 @@
 2016-01-28  Gwang Yoon Hwang  <y...@igalia.com>
 
+[GStreamer] Clean up includes and headers related with GStreamerGL
+https://bugs.webkit.org/show_bug.cgi?id=153590
+
+Reviewed by Philippe Normand.
+
+Remove gstglmemory from the including list and reorder includes to
+organize GSTREAMER_GL related headers. It violates style rules of the
+include order, but there is no clean way to include gst/gl/gl.h
+without violating it.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
+
+2016-01-28  Gwang Yoon Hwang  <y...@igalia.com>
+
 [GStreamer] MediaPlayerPrivateGStreamerBase::handleSyncMessage leaks GstContext
 https://bugs.webkit.org/show_bug.cgi?id=153580
 


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (195735 => 195736)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2016-01-28 09:06:30 UTC (rev 195735)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2016-01-28 15:16:02 UTC (rev 195736)
@@ -46,26 +46,10 @@
 
 #if USE(GSTREAMER_GL)
 #define GST_USE_UNSTABLE_API
-#include 
-#undef GST_USE_UNSTABLE_API
-#endif
-
-#if GST_CHECK_VERSION(1, 1, 0) && USE(TEXTURE_MAPPER_GL)
-#include "BitmapTextureGL.h"
-#include "BitmapTexturePool.h"
-#include "TextureMapperGL.h"
-#endif
-#if USE(COORDINATED_GRAPHICS_THREADED)
-#include "TextureMapperPlatformLayerBuffer.h"
-#endif
-
-#if USE(GSTREAMER_GL)
-#include "GLContext.h"
-
-#define GST_USE_UNSTABLE_API
 #include 
 #undef GST_USE_UNSTABLE_API
 
+#include "GLContext.h"
 #if USE(GLX)
 #include "GLContextGLX.h"
 #include 
@@ -84,9 +68,18 @@
 // defines None, breaking MediaPlayer::None enum
 #if PLATFORM(X11) && GST_GL_HAVE_PLATFORM_EGL
 #undef None
-#endif
+#endif // PLATFORM(X11) && GST_GL_HAVE_PLATFORM_EGL
 #endif // USE(GSTREAMER_GL)
 
+#if GST_CHECK_VERSION(1, 1, 0) && USE(TEXTURE_MAPPER_GL)
+#include "BitmapTextureGL.h"
+#include "BitmapTexturePool.h"
+#include "TextureMapperGL.h"
+#endif
+#if USE(COORDINATED_GRAPHICS_THREADED)
+#include "TextureMapperPlatformLayerBuffer.h"
+#endif
+
 #if USE(CAIRO) && ENABLE(ACCELERATED_2D_CANVAS)
 #include 
 #endif
@@ -166,7 +159,7 @@
 GLuint m_textureID;
 bool m_isValid { false };
 };
-#endif
+#endif // USE(COORDINATED_GRAPHICS_THREADED) && USE(GSTREAMER_GL)
 
 MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase(MediaPlayer* player)
 : m_player(player)


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h (195735 => 195736)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h	2016-01-28 09:06:30 UTC (rev 195735)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h	2016-01-28 15:16:02 UTC (rev 195736)
@@ -119,7 +119,7 @@
 #endif
 
 #if USE(GSTREAMER_GL)
-virtual PassNativeImagePtr nativeImageForCurrentTime();
+virtual PassNativeImagePtr nativeImageForCurrentTime() override;
 #endif
 
 protected:


Modified: trunk/Tools/ChangeLog (195735 => 195736)

--- trunk/Tools/ChangeLog	2016-01-28 09:06:30 UTC (rev 195735)
+++ trunk/Tools/ChangeLog	2016-01-28 15:16:02 UTC (rev 195736)
@@ -1,3 +1,14 @@
+2016-01-28  Gwang Yoon Hwang  <y...@igalia.com>
+
+[GStreamer] Clean up includes

[webkit-changes] [195735] trunk/Source/WebCore

2016-01-28 Thread yoon
Title: [195735] trunk/Source/WebCore








Revision 195735
Author y...@igalia.com
Date 2016-01-28 01:06:30 -0800 (Thu, 28 Jan 2016)


Log Message
[GStreamer] MediaPlayerPrivateGStreamerBase::handleSyncMessage leaks GstContext
https://bugs.webkit.org/show_bug.cgi?id=153580

Reviewed by Philippe Normand.

When we creates GstContext using gst_context_new it increases refcount itself.
And the refcount of GstContext is increased when it is passed to
gst_element_set_context, also. Therefore We should unref GstContext after
using it to prevent GstContext leaks.

* platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef): Added for GstContext.
(WTF::refGPtr): Ditto
(WTF::derefGPtr): Ditto
* platform/graphics/gstreamer/GRefPtrGStreamer.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
Use GRefPtr to handle currect refcounting

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (195734 => 195735)

--- trunk/Source/WebCore/ChangeLog	2016-01-28 08:52:44 UTC (rev 195734)
+++ trunk/Source/WebCore/ChangeLog	2016-01-28 09:06:30 UTC (rev 195735)
@@ -1,3 +1,24 @@
+2016-01-28  Gwang Yoon Hwang  <y...@igalia.com>
+
+[GStreamer] MediaPlayerPrivateGStreamerBase::handleSyncMessage leaks GstContext
+https://bugs.webkit.org/show_bug.cgi?id=153580
+
+Reviewed by Philippe Normand.
+
+When we creates GstContext using gst_context_new it increases refcount itself.
+And the refcount of GstContext is increased when it is passed to
+gst_element_set_context, also. Therefore We should unref GstContext after
+using it to prevent GstContext leaks.
+
+* platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
+(WTF::adoptGRef): Added for GstContext.
+(WTF::refGPtr): Ditto
+(WTF::derefGPtr): Ditto
+* platform/graphics/gstreamer/GRefPtrGStreamer.h:
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
+Use GRefPtr to handle currect refcounting
+
 2016-01-27  Alex Christensen  <achristen...@webkit.org>
 
 Fix clean CMake build after r195711.


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp (195734 => 195735)

--- trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp	2016-01-28 08:52:44 UTC (rev 195734)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp	2016-01-28 09:06:30 UTC (rev 195735)
@@ -103,7 +103,25 @@
 gst_caps_unref(ptr);
 }
 
+template <> GRefPtr adoptGRef(GstContext* ptr)
+{
+ASSERT(!g_object_is_floating(G_OBJECT(ptr)));
+return GRefPtr(ptr, GRefPtrAdopt);
+}
 
+template <> GstContext* refGPtr(GstContext* ptr)
+{
+if (ptr)
+gst_context_ref(ptr);
+return ptr;
+}
+
+template <> void derefGPtr(GstContext* ptr)
+{
+if (ptr)
+gst_context_unref(ptr);
+}
+
 template <> GRefPtr adoptGRef(GstTask* ptr)
 {
 ASSERT(!g_object_is_floating(G_OBJECT(ptr)));


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h (195734 => 195735)

--- trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h	2016-01-28 08:52:44 UTC (rev 195734)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h	2016-01-28 09:06:30 UTC (rev 195735)
@@ -27,6 +27,7 @@
 typedef struct _GstPad GstPad;
 typedef struct _GstPadTemplate GstPadTemplate;
 typedef struct _GstCaps GstCaps;
+typedef struct _GstContext GstContext;
 typedef struct _GstTask GstTask;
 typedef struct _GstBus GstBus;
 typedef struct _GstElementFactory GstElementFactory;
@@ -58,6 +59,10 @@
 template<> GstCaps* refGPtr(GstCaps* ptr);
 template<> void derefGPtr(GstCaps* ptr);
 
+template<> GRefPtr adoptGRef(GstContext* ptr);
+template<> GstContext* refGPtr(GstContext* ptr);
+template<> void derefGPtr(GstContext* ptr);
+
 template<> GRefPtr adoptGRef(GstTask* ptr);
 template<> GstTask* refGPtr(GstTask* ptr);
 template<> void derefGPtr(GstTask* ptr);


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (195734 => 195735)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2016-01-28 08:52:44 UTC (rev 195734)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2016-01-28 09:06:30 UTC (rev 195735)
@@ -220,17 +220,17 @@
 return false;
 
 if (!g_strcmp0(contextType, GST_GL_DISPLAY_CONTEXT_TYPE)) {
-GstContext* displayContext = gst_context_new(GST_GL_

[webkit-changes] [193836] trunk/Source/WebCore

2015-12-09 Thread yoon
Title: [193836] trunk/Source/WebCore








Revision 193836
Author y...@igalia.com
Date 2015-12-09 09:37:29 -0800 (Wed, 09 Dec 2015)


Log Message
[ThreadedCompositor] Support HTML5 Video
https://bugs.webkit.org/show_bug.cgi?id=143301

Reviewed by Žan Doberšek.

This patch implements HTML5 Video supports in Threaded Compositor.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::GstVideoFrameHolder::GstVideoFrameHolder):
Added to support GStreamer GL by ensuring unmapping of the swapped
GstVideoFrame performed at GStreamer GL's gl thread.
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
Modified to upload decoded frame to the given texture instead of
creating a texture itself because we should use a texture from the
proxy when we are using the threaded compositor.
(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):
Implements two ways to send a texture from GStreamer to the compositor.
1. If we are not using GStreamer GL, we are going to acquire a free texture
from a TextureMapperPlatformLayerProxy and upload the decoded frame to the
texture. This should be done at the compositing thread because we
don't have a Gst's GL thread.
2. If we are using GStreamer GL, we map a texture for the given frame
and passes it to the compositing thread. The mapped frame will be
freed if it is swapped out or the layer is removed.

(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
Modified to aquire a new texture itself.

* platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
Adds a way to pass a function to the compositing thread to allocate /
upload textures at the compositing thread.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (193835 => 193836)

--- trunk/Source/WebCore/ChangeLog	2015-12-09 17:34:04 UTC (rev 193835)
+++ trunk/Source/WebCore/ChangeLog	2015-12-09 17:37:29 UTC (rev 193836)
@@ -1,3 +1,38 @@
+2015-12-09  Gwang Yoon Hwang  <y...@igalia.com>
+
+[ThreadedCompositor] Support HTML5 Video
+https://bugs.webkit.org/show_bug.cgi?id=143301
+
+Reviewed by Žan Doberšek.
+
+This patch implements HTML5 Video supports in Threaded Compositor.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+(WebCore::GstVideoFrameHolder::GstVideoFrameHolder):
+Added to support GStreamer GL by ensuring unmapping of the swapped
+GstVideoFrame performed at GStreamer GL's gl thread.
+(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
+Modified to upload decoded frame to the given texture instead of
+creating a texture itself because we should use a texture from the
+proxy when we are using the threaded compositor.
+(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):
+Implements two ways to send a texture from GStreamer to the compositor.
+1. If we are not using GStreamer GL, we are going to acquire a free texture
+from a TextureMapperPlatformLayerProxy and upload the decoded frame to the
+texture. This should be done at the compositing thread because we
+don't have a Gst's GL thread.
+2. If we are using GStreamer GL, we map a texture for the given frame
+and passes it to the compositing thread. The mapped frame will be
+freed if it is swapped out or the layer is removed.
+
+(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
+Modified to aquire a new texture itself.
+
+* platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
+Adds a way to pass a function to the compositing thread to allocate /
+upload textures at the compositing thread.
+
+
 2015-12-09  Xabier Rodriguez Calvar  <calva...@igalia.com>
 
 [Streams API] pipeThrough test failing


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (193835 => 193836)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2015-12-09 17:34:04 UTC (rev 193835)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2015-12-09 17:37:29 UTC (rev 193836)
@@ -55,6 +55,9 @@
 #include "BitmapTexturePool.h"
 #include "TextureMapperGL.h"
 #endif
+#if USE(COORDINATED_GRAPHICS_THREADED)
+#include "TextureMapperPlatformLayerBuffer.h"
+#endif
 
 #if USE(GSTREAMER_GL)
 #include "GLContext.h"
@@ -102,6 +105,67 @@
 return ABS(a);
 }
 
+#if USE(COORDINATED_GRAPHICS_THREADED) && USE(GSTREAMER_GL)
+c

[webkit-changes] [193844] trunk/Source/WebKit2

2015-12-09 Thread yoon
Title: [193844] trunk/Source/WebKit2








Revision 193844
Author y...@igalia.com
Date 2015-12-09 10:52:16 -0800 (Wed, 09 Dec 2015)


Log Message
[ThreadedCompositor] Add support for HiDPI
https://bugs.webkit.org/show_bug.cgi?id=152071

Reviewed by Carlos Garcia Campos.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::setDeviceScaleFactor): Added to receive the
device scale factor from the layer tree host.
(WebKit::ThreadedCompositor::renderLayerTree):
Apply device scale factor before rendering the page.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
Send a updated device scale factor to the compositing thread.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h
trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (193843 => 193844)

--- trunk/Source/WebKit2/ChangeLog	2015-12-09 18:32:22 UTC (rev 193843)
+++ trunk/Source/WebKit2/ChangeLog	2015-12-09 18:52:16 UTC (rev 193844)
@@ -1,3 +1,20 @@
+2015-12-09  Gwang Yoon Hwang  <y...@igalia.com>
+
+[ThreadedCompositor] Add support for HiDPI
+https://bugs.webkit.org/show_bug.cgi?id=152071
+
+Reviewed by Carlos Garcia Campos.
+
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
+(WebKit::ThreadedCompositor::setDeviceScaleFactor): Added to receive the
+device scale factor from the layer tree host.
+(WebKit::ThreadedCompositor::renderLayerTree):
+Apply device scale factor before rendering the page.
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
+* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
+(WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
+Send a updated device scale factor to the compositing thread.
+
 2015-12-09  Ryuan Choi  <ryuan.c...@navercorp.com>
 
 [CoordinatedGraphics] Remove unnecessary guards in CoordinatedDrawingArea


Modified: trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp (193843 => 193844)

--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp	2015-12-09 18:32:22 UTC (rev 193843)
+++ trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp	2015-12-09 18:52:16 UTC (rev 193844)
@@ -116,6 +116,7 @@
 
 ThreadedCompositor::ThreadedCompositor(Client* client)
 : m_client(client)
+, m_deviceScaleFactor(1)
 , m_threadIdentifier(0)
 {
 createCompositingThread();
@@ -143,6 +144,14 @@
 });
 }
 
+void ThreadedCompositor::setDeviceScaleFactor(float scale)
+{
+RefPtr protector(this);
+callOnCompositingThread([=] {
+protector->m_deviceScaleFactor = scale;
+protector->scheduleDisplayImmediately();
+});
+}
 
 void ThreadedCompositor::didChangeViewportSize(const IntSize& newSize)
 {
@@ -262,7 +271,7 @@
 
 TransformationMatrix viewportTransform;
 FloatPoint scrollPostion = viewportController()->visibleContentsRect().location();
-viewportTransform.scale(viewportController()->pageScaleFactor());
+viewportTransform.scale(viewportController()->pageScaleFactor() * m_deviceScaleFactor);
 viewportTransform.translate(-scrollPostion.x(), -scrollPostion.y());
 
 m_scene->paintToCurrentGLContext(viewportTransform, 1, clipRect, Color::white, false, scrollPostion);


Modified: trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h (193843 => 193844)

--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h	2015-12-09 18:32:22 UTC (rev 193843)
+++ trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h	2015-12-09 18:52:16 UTC (rev 193844)
@@ -67,6 +67,7 @@
 void setNeedsDisplay();
 
 void setNativeSurfaceHandleForCompositing(uint64_t);
+void setDeviceScaleFactor(float);
 
 void updateSceneState(const WebCore::CoordinatedGraphicsState&);
 
@@ -106,6 +107,7 @@
 std::unique_ptr m_context;
 
 WebCore::IntSize m_viewportSize;
+float m_deviceScaleFactor;
 uint64_t m_nativeSurfaceHandle;
 
 std::unique_ptr m_compositingRunLoop;


Modified: trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp (193843 => 193844)

--- trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp	2015-12-09 18:32:22 UTC (rev 193843)
+++ trunk/Sou

[webkit-changes] [193723] trunk/Source/WebCore

2015-12-08 Thread yoon
Title: [193723] trunk/Source/WebCore








Revision 193723
Author y...@igalia.com
Date 2015-12-08 00:36:02 -0800 (Tue, 08 Dec 2015)


Log Message
[ThreadedCompositor] Support WebGL for OpenGL.
https://bugs.webkit.org/show_bug.cgi?id=143300

Reviewed by Žan Doberšek.

To remove pixel transfer operation, this patch adds m_compositorFBO which uses same depth and stencil
buffer with m_fbo but uses m_compositorTexture as a color attachment in GraphicsContext3D.
Because switching target framebuffer is cheaper than pixel transfer operation and switching color
attachment of m_fbo. In Threaded Compositor, when WebGL renders a scene, prepareTexture swaps
m_fbo with m_compositorFBO and send the color attachment to the compositor thread.
This patch only supports WebGL for OpenGL. OpenGLES will be covered in following-up patches.

No new tests needed.

* platform/graphics/GraphicsContext3D.h:
* platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::proxy):
(WebCore::GraphicsContext3DPrivate::swapBuffersIfNeeded):
Implement interfaces to pass a rendered texture to the compositing
thread.
* platform/graphics/GraphicsContext3DPrivate.h:
* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
Create additional compositing texture and FBO to swaping buffers for
threaded compositor.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::reshapeFBOs):
(WebCore::GraphicsContext3D::attachDepthAndStencilBufferIfNeeded):
Split attaching depth and stencil buffer codes from reshapeFBOs
to make complete framebuffer with not only m_fbo but m_compositorFBO also.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::prepareTexture):
If we are in the threaded compositor, we will swap m_fbo with
m_compositorFBO instead of copying it.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h
trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp
trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.h
trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp
trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (193722 => 193723)

--- trunk/Source/WebCore/ChangeLog	2015-12-08 08:35:25 UTC (rev 193722)
+++ trunk/Source/WebCore/ChangeLog	2015-12-08 08:36:02 UTC (rev 193723)
@@ -1,3 +1,42 @@
+2015-12-08  Gwang Yoon Hwang  <y...@igalia.com>
+
+[ThreadedCompositor] Support WebGL for OpenGL.
+https://bugs.webkit.org/show_bug.cgi?id=143300
+
+Reviewed by Žan Doberšek.
+
+To remove pixel transfer operation, this patch adds m_compositorFBO which uses same depth and stencil
+buffer with m_fbo but uses m_compositorTexture as a color attachment in GraphicsContext3D.
+Because switching target framebuffer is cheaper than pixel transfer operation and switching color
+attachment of m_fbo. In Threaded Compositor, when WebGL renders a scene, prepareTexture swaps
+m_fbo with m_compositorFBO and send the color attachment to the compositor thread.
+This patch only supports WebGL for OpenGL. OpenGLES will be covered in following-up patches.
+
+No new tests needed.
+
+* platform/graphics/GraphicsContext3D.h:
+* platform/graphics/GraphicsContext3DPrivate.cpp:
+(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
+(WebCore::GraphicsContext3DPrivate::proxy):
+(WebCore::GraphicsContext3DPrivate::swapBuffersIfNeeded):
+Implement interfaces to pass a rendered texture to the compositing
+thread.
+* platform/graphics/GraphicsContext3DPrivate.h:
+* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
+(WebCore::GraphicsContext3D::GraphicsContext3D):
+(WebCore::GraphicsContext3D::~GraphicsContext3D):
+Create additional compositing texture and FBO to swaping buffers for
+threaded compositor.
+* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
+(WebCore::GraphicsContext3D::reshapeFBOs):
+(WebCore::GraphicsContext3D::attachDepthAndStencilBufferIfNeeded):
+Split attaching depth and stencil buffer codes from reshapeFBOs
+to make complete framebuffer with not only m_fbo but m_compositorFBO also.
+* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+(WebCore::GraphicsContext3D::prepareTexture):
+If we are in the threaded compositor, we will swap m_fbo with
+m_compositorFBO instead of copying it.
+
 2015-12-07  Zalan Bu

[webkit-changes] [193748] trunk/Source/WebCore

2015-12-08 Thread yoon
Title: [193748] trunk/Source/WebCore








Revision 193748
Author y...@igalia.com
Date 2015-12-08 06:20:28 -0800 (Tue, 08 Dec 2015)


Log Message
[ThreadedCompositor] Add support for Cairo GL-backed ImageBuffer.
https://bugs.webkit.org/show_bug.cgi?id=151986

Reviewed by Žan Doberšek.

This patch adds a support for accelerated 2d canvas which uses cairo-gl as its
backend to the threaded compositor. Basically, it applies same way to support
WebGL for the threaded compositor.

Unfortunately, we cannot swap the buffer for the accelerated 2d canvas because
it should preserve the buffer of the previous frame when drawing new contents.
Because of that, the surface of the accelerated 2d canvas will be copied for
each frame.

* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBufferData::ImageBufferData):
(WebCore::ImageBufferData::createCompositorBuffer): Prepare a texture
surface to push the rendered result to the compositing thread.
(WebCore::ImageBufferData::swapBuffersIfNeeded): Copies the contents
of the canvas's surface to the compositing texture.
(WebCore::ImageBufferData::createCairoGLSurface): Moved to the inside
of ImageBufferData.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp
trunk/Source/WebCore/platform/graphics/cairo/ImageBufferDataCairo.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (193747 => 193748)

--- trunk/Source/WebCore/ChangeLog	2015-12-08 11:18:12 UTC (rev 193747)
+++ trunk/Source/WebCore/ChangeLog	2015-12-08 14:20:28 UTC (rev 193748)
@@ -1,3 +1,28 @@
+2015-12-08  Gwang Yoon Hwang  <y...@igalia.com>
+
+[ThreadedCompositor] Add support for Cairo GL-backed ImageBuffer.
+https://bugs.webkit.org/show_bug.cgi?id=151986
+
+Reviewed by Žan Doberšek.
+
+This patch adds a support for accelerated 2d canvas which uses cairo-gl as its
+backend to the threaded compositor. Basically, it applies same way to support
+WebGL for the threaded compositor.
+
+Unfortunately, we cannot swap the buffer for the accelerated 2d canvas because
+it should preserve the buffer of the previous frame when drawing new contents.
+Because of that, the surface of the accelerated 2d canvas will be copied for
+each frame.
+
+* platform/graphics/cairo/ImageBufferCairo.cpp:
+(WebCore::ImageBufferData::ImageBufferData):
+(WebCore::ImageBufferData::createCompositorBuffer): Prepare a texture
+surface to push the rendered result to the compositing thread.
+(WebCore::ImageBufferData::swapBuffersIfNeeded): Copies the contents
+of the canvas's surface to the compositing texture.
+(WebCore::ImageBufferData::createCairoGLSurface): Moved to the inside
+of ImageBufferData.
+
 2015-12-08  Joanmarie Diggs  <jdi...@igalia.com>
 
 [GTK] 15 accessibility tests fail since r186692.


Modified: trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp (193747 => 193748)

--- trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp	2015-12-08 11:18:12 UTC (rev 193747)
+++ trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp	2015-12-08 14:20:28 UTC (rev 193748)
@@ -53,6 +53,7 @@
 #include "TextureMapperGL.h"
 #include 
 #if USE(COORDINATED_GRAPHICS_THREADED)
+#include "TextureMapperPlatformLayerBuffer.h"
 #include "TextureMapperPlatformLayerProxy.h"
 #endif
 #endif
@@ -65,12 +66,58 @@
 : m_platformContext(0)
 , m_size(size)
 #if ENABLE(ACCELERATED_2D_CANVAS)
+#if USE(COORDINATED_GRAPHICS_THREADED)
+, m_platformLayerProxy(adoptRef(new TextureMapperPlatformLayerProxy))
+, m_compositorTexture(0)
+#endif
 , m_texture(0)
 #endif
 {
 }
 
 #if ENABLE(ACCELERATED_2D_CANVAS)
+#if USE(COORDINATED_GRAPHICS_THREADED)
+void ImageBufferData::createCompositorBuffer()
+{
+GLContext::sharingContext()->makeContextCurrent();
+
+glGenTextures(1, _compositorTexture);
+glBindTexture(GL_TEXTURE_2D, m_compositorTexture);
+glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+glTexImage2D(GL_TEXTURE_2D, 0 , GL_RGBA, m_size.width(), m_size.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
+
+cairo_device_t* device = GLContext::sharingContext()->cairoDevice();
+m_compositorSurface = adoptRef(cairo_gl_surface_create_for_texture(device, CAIRO_CONTENT_COLOR_ALPHA, m_compositorTexture, m_size.width(), m_size.height()));
+m_compositorCr = adoptRef(cairo_create(m_compositorSurface.get()));
+cairo_set_antialias(m_compositorCr.get(), CAIRO_ANTIALIAS_NONE);
+}
+
+void ImageBufferData::swapBuffersIfNeeded()
+{
+GL

[webkit-changes] [193630] trunk/Source

2015-12-07 Thread yoon
/TextureMapperPlatformLayerProxy.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (193629 => 193630)

--- trunk/Source/WebCore/ChangeLog	2015-12-07 17:12:18 UTC (rev 193629)
+++ trunk/Source/WebCore/ChangeLog	2015-12-07 17:15:56 UTC (rev 193630)
@@ -1,5 +1,62 @@
 2015-12-07  Gwang Yoon Hwang  <y...@igalia.com>
 
+[ThreadedCompositor] Add support for PlatformLayer.
+https://bugs.webkit.org/show_bug.cgi?id=143299
+
+Reviewed by Žan Doberšek.
+
+This patch implements TextureMapperPlatformLayerProxy and TextureMapperPlatformLayerBuffer to
+send a texture (actual texture or BitmapTexture) to the compositing thread directly.
+Platform layer renderers should implement TextureMapperPlatformLayerProxyProvider to establish
+a connection to the compositing thread. After the connection has been established, the renderer
+can render its contents to the TextureMapperPlatformLayerBuffer and pass it to the compositing thread
+via TextureMapperPlatformLayer proxy.
+The buffer can be an unmanaged texture (a.k.a. platform texture) or BitmapTexture.
+For the unmanaged texture, the renderer should manage its life cycle itself. For the BitmapTexture,
+it will be managed by TextureMapperPlatformLayerProxy. In that case, used (swapped) buffer will be
+recycled because the renderer will use same size and format until it changes its size.
+
+No new tests needed.
+
+* PlatformGTK.cmake:
+Adds TextureMapperPlatformLayerBuffer and TextureMapperPlaytformLayerProxy.
+
+* platform/graphics/GraphicsContext3DPrivate.cpp:
+* platform/graphics/GraphicsContext3DPrivate.h:
+* platform/graphics/cairo/ImageBufferCairo.cpp:
+* platform/graphics/cairo/ImageBufferDataCairo.h:
+Adds mock implementation.
+
+* platform/graphics/PlatformLayer.h:
+Adds TextureMapperPlatformLayerProxyProvider as a PlatformLayer for the Threaded Compositor
+
+* platform/graphics/texmap/BitmapTextureGL.h:
+(WebCore::BitmapTextureGL::internalFormat): Adds a getter to check the
+internal format of texture to check reusability.
+
+* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
+* platform/graphics/texmap/TextureMapperLayer.cpp:
+* platform/graphics/texmap/TextureMapperLayer.h:
+Exclude GraphicsLayerTextureMapper from build when we are using Coordinated Graphics.
+
+* platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp: Added.
+* platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h: Added.
+* platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp: Added.
+* platform/graphics/texmap/TextureMapperPlatformLayerProxy.h: Added.
+
+* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
+(WebCore::GraphicsLayer::create):
+Because we removed GraphicsLayerTextureMapper from build, we need to add own factory function.
+
+(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
+(WebCore::CoordinatedGraphicsLayer::syncPlatformLayer):
+(WebCore::CoordinatedGraphicsLayer::platformLayerWillBeDestroyed):
+(WebCore::CoordinatedGraphicsLayer::setPlatformLayerNeedsDisplay):
+Implements sync operations for TextureMapperPlatformLayerProxy
+
+2015-12-07  Gwang Yoon Hwang  <y...@igalia.com>
+
 Fix GTK+ build with GStreamer GL
 https://bugs.webkit.org/show_bug.cgi?id=151939
 


Modified: trunk/Source/WebCore/PlatformGTK.cmake (193629 => 193630)

--- trunk/Source/WebCore/PlatformGTK.cmake	2015-12-07 17:12:18 UTC (rev 193629)
+++ trunk/Source/WebCore/PlatformGTK.cmake	2015-12-07 17:15:56 UTC (rev 193630)
@@ -442,6 +442,8 @@
 page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp
 page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp
 
+platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp
+platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp
 platform/graphics/texmap/coordinated/AreaAllocator.cpp
 platform/graphics/texmap/coordinated/CompositingCoordinator.cpp
 platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp


Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp (193629 => 193630)

--- trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp	2015-12-07 17:12:18 UTC (rev 193629)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp	2015-12-07 17:15:56 UTC (rev 193630)
@@ -63,7 +63,7 @@
 
 GraphicsContext3DPrivate::~GraphicsContext3DPrivate()
 {
-#if USE(TEXTURE_MAPPER)
+#if USE(TEXTURE_MAPPER) && !USE(COORDINATED_GRAPHICS_THREADED)
 if (client())
 client()->platformLayerWillBeDestroyed();
 #endi

[webkit-changes] [193621] trunk/Source/WebCore

2015-12-07 Thread yoon
Title: [193621] trunk/Source/WebCore








Revision 193621
Author y...@igalia.com
Date 2015-12-07 04:02:11 -0800 (Mon, 07 Dec 2015)


Log Message
Fix GTK+ build with GStreamer GL
https://bugs.webkit.org/show_bug.cgi?id=151939

Reviewed by Žan Doberšek.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::drawCallback):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (193620 => 193621)

--- trunk/Source/WebCore/ChangeLog	2015-12-07 11:56:25 UTC (rev 193620)
+++ trunk/Source/WebCore/ChangeLog	2015-12-07 12:02:11 UTC (rev 193621)
@@ -1,3 +1,16 @@
+2015-12-07  Gwang Yoon Hwang  <y...@igalia.com>
+
+Fix GTK+ build with GStreamer GL
+https://bugs.webkit.org/show_bug.cgi?id=151939
+
+Reviewed by Žan Doberšek.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
+(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
+(WebCore::MediaPlayerPrivateGStreamerBase::drawCallback):
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
+
 2015-12-06  Simon Fraser  <simon.fra...@apple.com>
 
 Show more information about SVG renderers in showLayerTree() output


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (193620 => 193621)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2015-12-07 11:56:25 UTC (rev 193620)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2015-12-07 12:02:11 UTC (rev 193621)
@@ -108,7 +108,7 @@
 , m_readyState(MediaPlayer::HaveNothing)
 , m_networkState(MediaPlayer::Empty)
 #if USE(GSTREAMER_GL)
-, m_drawTimer(RunLoop::main(), this, ::repaint())
+, m_drawTimer(RunLoop::main(), this, ::repaint)
 #endif
 , m_usingFallbackVideoSink(false)
 {
@@ -444,7 +444,7 @@
 
 LockHolder locker(m_drawMutex);
 m_drawTimer.startOneShot(0);
-m_drawCondition.wait();
+m_drawCondition.wait(m_drawMutex);
 }
 #else
 repaint();
@@ -457,7 +457,7 @@
 }
 
 #if USE(GSTREAMER_GL)
-gboolean MediaPlayerPrivateGStreamerBase::drawCallback(MediaPlayerPrivateGStreamerBase* player, GstContext*, GstSample* sample)
+gboolean MediaPlayerPrivateGStreamerBase::drawCallback(MediaPlayerPrivateGStreamerBase* player, GstGLContext*, GstSample* sample)
 {
 player->triggerRepaint(sample);
 return TRUE;


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h (193620 => 193621)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h	2015-12-07 11:56:25 UTC (rev 193620)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h	2015-12-07 12:02:11 UTC (rev 193621)
@@ -122,7 +122,7 @@
 
 static void repaintCallback(MediaPlayerPrivateGStreamerBase*, GstSample*);
 #if USE(GSTREAMER_GL)
-static gboolean drawCallback(MediaPlayerPrivateGStreamerBase*, GstContext*, GstSample*);
+static gboolean drawCallback(MediaPlayerPrivateGStreamerBase*, GstGLContext*, GstSample*);
 #endif
 
 void notifyPlayerOfVolumeChange();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [193651] trunk/Source/WebCore

2015-12-07 Thread yoon
Title: [193651] trunk/Source/WebCore








Revision 193651
Author y...@igalia.com
Date 2015-12-07 14:23:19 -0800 (Mon, 07 Dec 2015)


Log Message
[GTK] Clean up virtual functions in MediaPlayerPrivateGStreamerBase
https://bugs.webkit.org/show_bug.cgi?id=151940

Reviewed by Carlos Garcia Campos.

- Using 'override' when appropriate
- Explicitly marking methods as virtual when they are inherently virtual

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (193650 => 193651)

--- trunk/Source/WebCore/ChangeLog	2015-12-07 22:14:25 UTC (rev 193650)
+++ trunk/Source/WebCore/ChangeLog	2015-12-07 22:23:19 UTC (rev 193651)
@@ -1,3 +1,15 @@
+2015-12-07  Gwang Yoon Hwang  <y...@igalia.com>
+
+[GTK] Clean up virtual functions in MediaPlayerPrivateGStreamerBase
+https://bugs.webkit.org/show_bug.cgi?id=151940
+
+Reviewed by Carlos Garcia Campos.
+
+- Using 'override' when appropriate
+- Explicitly marking methods as virtual when they are inherently virtual
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
+
 2015-12-07  Saam barati  <sbar...@apple.com>
 
 Add op_watchdog opcode that is generated when VM has a watchdog


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h (193650 => 193651)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h	2015-12-07 22:14:25 UTC (rev 193650)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h	2015-12-07 22:23:19 UTC (rev 193651)
@@ -56,53 +56,53 @@
 public:
 virtual ~MediaPlayerPrivateGStreamerBase();
 
-FloatSize naturalSize() const;
+virtual FloatSize naturalSize() const override;
 
-void setVolume(float);
-float volume() const;
+virtual void setVolume(float) override;
+virtual float volume() const;
 
 #if USE(GSTREAMER_GL)
 bool ensureGstGLContext();
 #endif
 
-bool supportsMuting() const { return true; }
-void setMuted(bool);
+virtual bool supportsMuting() const override { return true; }
+virtual void setMuted(bool) override;
 bool muted() const;
 
-MediaPlayer::NetworkState networkState() const;
-MediaPlayer::ReadyState readyState() const;
+virtual MediaPlayer::NetworkState networkState() const override;
+virtual MediaPlayer::ReadyState readyState() const override;
 
-void setVisible(bool) { }
-void setSize(const IntSize&);
+virtual void setVisible(bool) override { }
+virtual void setSize(const IntSize&) override;
 void sizeChanged();
 
-void paint(GraphicsContext&, const FloatRect&);
+virtual void paint(GraphicsContext&, const FloatRect&) override;
 
-virtual bool hasSingleSecurityOrigin() const { return true; }
+virtual bool hasSingleSecurityOrigin() const override { return true; }
 virtual float maxTimeLoaded() const { return 0.0; }
 
-bool supportsFullscreen() const;
-PlatformMedia platformMedia() const;
+virtual bool supportsFullscreen() const override;
+virtual PlatformMedia platformMedia() const override;
 
-MediaPlayer::MovieLoadType movieLoadType() const;
+virtual MediaPlayer::MovieLoadType movieLoadType() const override;
 virtual bool isLiveStream() const = 0;
 
 MediaPlayer* mediaPlayer() const { return m_player; }
 
-unsigned decodedFrameCount() const;
-unsigned droppedFrameCount() const;
-unsigned audioDecodedByteCount() const;
-unsigned videoDecodedByteCount() const;
+virtual unsigned decodedFrameCount() const override;
+virtual unsigned droppedFrameCount() const override;
+virtual unsigned audioDecodedByteCount() const override;
+virtual unsigned videoDecodedByteCount() const override;
 
 #if USE(TEXTURE_MAPPER_GL) && !USE(COORDINATED_GRAPHICS)
-virtual PlatformLayer* platformLayer() const { return const_cast<MediaPlayerPrivateGStreamerBase*>(this); }
+virtual PlatformLayer* platformLayer() const override { return const_cast<MediaPlayerPrivateGStreamerBase*>(this); }
 #if PLATFORM(WIN_CAIRO)
 // FIXME: Accelerated rendering has not been implemented for WinCairo yet.
-virtual bool supportsAcceleratedRendering() const { return false; }
+virtual bool supportsAcceleratedRendering() const override { return false; }
 #else
-virtual bool supportsAcceleratedRendering() const { return true; }
+virtual bool supportsAcceleratedRendering() const override { return true; }
 #endif
-virtual void paintToTextureMapper(TextureMapper*, const FloatRect&, const TransformationMatrix&, float);
+virtual void paintToTextureMapper(TextureMapper*, const FloatRect&, const TransformationMatrix&, float) override;
 #endif
 
 protected

[webkit-changes] [191549] trunk/Source/WebCore

2015-10-25 Thread yoon
Title: [191549] trunk/Source/WebCore








Revision 191549
Author y...@igalia.com
Date 2015-10-25 08:10:29 -0700 (Sun, 25 Oct 2015)


Log Message
[TexMap] Fix a misused flag for GstGL
https://bugs.webkit.org/show_bug.cgi?id=150545

Reviewed by Žan Doberšek.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
We should pass TextureMapperGL::Flags to the TextureMapperGL::drawTexture instead of
BitmapTexture::Flags.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (191548 => 191549)

--- trunk/Source/WebCore/ChangeLog	2015-10-25 09:17:32 UTC (rev 191548)
+++ trunk/Source/WebCore/ChangeLog	2015-10-25 15:10:29 UTC (rev 191549)
@@ -1,3 +1,15 @@
+2015-10-25  Gwang Yoon Hwang  <y...@igalia.com>
+
+[TexMap] Fix a misused flag for GstGL
+https://bugs.webkit.org/show_bug.cgi?id=150545
+
+Reviewed by Žan Doberšek.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
+We should pass TextureMapperGL::Flags to the TextureMapperGL::drawTexture instead of
+BitmapTexture::Flags.
+
 2015-10-25  Youenn Fablet  <youenn.fab...@crf.canon.fr>
 
 Use ImplementedAs for MediaDevices.getUserMediaFromJS


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (191548 => 191549)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2015-10-25 09:17:32 UTC (rev 191548)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2015-10-25 15:10:29 UTC (rev 191549)
@@ -560,9 +560,7 @@
 return;
 
 unsigned textureID = *reinterpret_cast<unsigned*>(videoFrame.data[0]);
-BitmapTexture::Flags flags = BitmapTexture::NoFlag;
-if (GST_VIDEO_INFO_HAS_ALPHA())
-flags |= BitmapTexture::SupportsAlpha;
+TextureMapperGL::Flags flags = GST_VIDEO_INFO_HAS_ALPHA() ? TextureMapperGL::ShouldBlend : 0;
 
 IntSize size = IntSize(GST_VIDEO_INFO_WIDTH(), GST_VIDEO_INFO_HEIGHT());
 TextureMapperGL* textureMapperGL = reinterpret_cast<TextureMapperGL*>(textureMapper);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [191541] trunk/Source/WebCore

2015-10-24 Thread yoon
Title: [191541] trunk/Source/WebCore








Revision 191541
Author y...@igalia.com
Date 2015-10-24 19:23:20 -0700 (Sat, 24 Oct 2015)


Log Message
[TexMap] Clean up BitmapTexture and BitmapTextureGL.
https://bugs.webkit.org/show_bug.cgi?id=143298

Reviewed by Žan Doberšek.

No new tests, this is just a refactor.

* platform/graphics/texmap/BitmapTexture.h:
(WebCore::BitmapTexture::canReuseWith): Deleted.
Reuseability of a BitmapTexture is only decided by its size.
We can use size() instead of this method.

* platform/graphics/texmap/BitmapTextureGL.h:
(WebCore::driverSupportsExternalTextureBGRA): Deleted.
We do not have to check a suitable texture format in every
update/reset. It is enough to store the formats in construction time
and reuse them.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.h
trunk/Source/WebCore/platform/graphics/texmap/BitmapTextureGL.cpp
trunk/Source/WebCore/platform/graphics/texmap/BitmapTextureGL.h
trunk/Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (191540 => 191541)

--- trunk/Source/WebCore/ChangeLog	2015-10-25 01:33:02 UTC (rev 191540)
+++ trunk/Source/WebCore/ChangeLog	2015-10-25 02:23:20 UTC (rev 191541)
@@ -1,3 +1,23 @@
+2015-10-24  Gwang Yoon Hwang  <y...@igalia.com>
+
+[TexMap] Clean up BitmapTexture and BitmapTextureGL.
+https://bugs.webkit.org/show_bug.cgi?id=143298
+
+Reviewed by Žan Doberšek.
+
+No new tests, this is just a refactor.
+
+* platform/graphics/texmap/BitmapTexture.h:
+(WebCore::BitmapTexture::canReuseWith): Deleted.
+Reuseability of a BitmapTexture is only decided by its size.
+We can use size() instead of this method.
+
+* platform/graphics/texmap/BitmapTextureGL.h:
+(WebCore::driverSupportsExternalTextureBGRA): Deleted.
+We do not have to check a suitable texture format in every
+update/reset. It is enough to store the formats in construction time
+and reuse them.
+
 2015-10-24  Simon Fraser  <simon.fra...@apple.com>
 
 REGRESSION (r187121): Delayed instantaneous animations not honouring ' forwards' fill-mode


Modified: trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.h (191540 => 191541)

--- trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.h	2015-10-25 01:33:02 UTC (rev 191540)
+++ trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.h	2015-10-25 02:23:20 UTC (rev 191541)
@@ -75,7 +75,6 @@
 inline Flags flags() const { return m_flags; }
 
 virtual int bpp() const { return 32; }
-virtual bool canReuseWith(const IntSize& /* contentsSize */, Flags = 0) { return false; }
 void reset(const IntSize& size, Flags flags = 0)
 {
 m_flags = flags;


Modified: trunk/Source/WebCore/platform/graphics/texmap/BitmapTextureGL.cpp (191540 => 191541)

--- trunk/Source/WebCore/platform/graphics/texmap/BitmapTextureGL.cpp	2015-10-25 01:33:02 UTC (rev 191540)
+++ trunk/Source/WebCore/platform/graphics/texmap/BitmapTextureGL.cpp	2015-10-25 02:23:20 UTC (rev 191541)
@@ -69,19 +69,23 @@
 , m_depthBufferObject(0)
 , m_shouldClear(true)
 , m_context3D(context3D)
-{
-}
-
-bool BitmapTextureGL::canReuseWith(const IntSize& contentsSize, Flags)
-{
-return contentsSize == m_textureSize;
-}
-
 #if OS(DARWIN)
-#define DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE GL_UNSIGNED_INT_8_8_8_8_REV
+, m_type(GL_UNSIGNED_INT_8_8_8_8_REV)
 #else
-#define DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE GraphicsContext3D::UNSIGNED_BYTE
+, m_type(GraphicsContext3D::UNSIGNED_BYTE)
 #endif
+{
+// If GL_EXT_texture_format_BGRA is supported in the OpenGLES
+// internal and external formats need to be BGRA
+m_internalFormat = GraphicsContext3D::RGBA;
+m_format = GraphicsContext3D::BGRA;
+if (m_context3D->isGLES2Compliant()) {
+if (m_context3D->getExtensions()->supports("GL_EXT_texture_format_BGRA"))
+m_internalFormat = GraphicsContext3D::BGRA;
+else
+m_format = GraphicsContext3D::RGBA;
+}
+}
 
 static void swizzleBGRAToRGBA(uint32_t* data, const IntRect& rect, int stride = 0)
 {
@@ -93,18 +97,6 @@
 }
 }
 
-// If GL_EXT_texture_format_BGRA is supported in the OpenGLES
-// internal and external formats need to be BGRA
-static bool driverSupportsExternalTextureBGRA(GraphicsContext3D* context)
-{
-if (context->isGLES2Compliant()) {
-static bool supportsExternalTextureBGRA = context->getExtensions()->supports("GL_EXT_texture_format_BGRA");
-return supportsExternalTextureBGRA;
-}
-
-return true;
-}
-
 static bool driverSupportsSubImage(GraphicsContext3D* context)
 {
 if (context->isGLES2Compliant()) {
@@ -124,7 +116,6 @@
 if (m_textureSize == contentSize())
 return;
 
-
 m_textureSize = contentSize();
 m

[webkit-changes] [191544] trunk/Source/WebCore

2015-10-24 Thread yoon
Title: [191544] trunk/Source/WebCore








Revision 191544
Author y...@igalia.com
Date 2015-10-24 22:41:47 -0700 (Sat, 24 Oct 2015)


Log Message
Remove setApplyDeviceScaleFactorInCompositor
https://bugs.webkit.org/show_bug.cgi?id=150538

Reviewed by Tim Horton.

It was used to support the device scale factor for chromium port and blackberry
port. But it was removed quite a while ago.

* page/Settings.in:
applyDeviceScaleFactorInCompositor: Deleted
* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::CompositingCoordinator): Remove uses
of applyDeviceScaleFactorInCompositor.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/Settings.in
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (191543 => 191544)

--- trunk/Source/WebCore/ChangeLog	2015-10-25 05:37:09 UTC (rev 191543)
+++ trunk/Source/WebCore/ChangeLog	2015-10-25 05:41:47 UTC (rev 191544)
@@ -1,3 +1,19 @@
+2015-10-24  Gwang Yoon Hwang  <y...@igalia.com>
+
+Remove setApplyDeviceScaleFactorInCompositor
+https://bugs.webkit.org/show_bug.cgi?id=150538
+
+Reviewed by Tim Horton.
+
+It was used to support the device scale factor for chromium port and blackberry
+port. But it was removed quite a while ago.
+
+* page/Settings.in:
+applyDeviceScaleFactorInCompositor: Deleted
+* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
+(WebCore::CompositingCoordinator::CompositingCoordinator): Remove uses
+of applyDeviceScaleFactorInCompositor.
+
 2015-10-24  Tim Horton  <timothy_hor...@apple.com>
 
 Expose more information about the exception in WKErrorJavaScriptExceptionOccurred errors


Modified: trunk/Source/WebCore/page/Settings.in (191543 => 191544)

--- trunk/Source/WebCore/page/Settings.in	2015-10-25 05:37:09 UTC (rev 191543)
+++ trunk/Source/WebCore/page/Settings.in	2015-10-25 05:41:47 UTC (rev 191544)
@@ -163,7 +163,6 @@
 windowFocusRestricted initial=true
 
 diagnosticLoggingEnabled initial=false
-applyDeviceScaleFactorInCompositor initial=true
 delegatesPageScaling initial=false
 plugInSnapshottingEnabled initial=false
 snapshotAllPlugIns initial=false


Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp (191543 => 191544)

--- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp	2015-10-25 05:37:09 UTC (rev 191543)
+++ trunk/Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp	2015-10-25 05:41:47 UTC (rev 191544)
@@ -64,7 +64,6 @@
 , m_lastAnimationServiceTime(0)
 #endif
 {
-m_page->settings().setApplyDeviceScaleFactorInCompositor(true);
 }
 
 void CompositingCoordinator::setRootCompositingLayer(GraphicsLayer* compositingLayer, GraphicsLayer* overlayLayer)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [190344] trunk/Source

2015-09-30 Thread yoon
Title: [190344] trunk/Source








Revision 190344
Author y...@igalia.com
Date 2015-09-30 02:55:59 -0700 (Wed, 30 Sep 2015)


Log Message
[GTK] Support HiDPI Properly in WebKitGtk+ with the TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=141782

Reviewed by Carlos Garcia Campos.

Source/WebCore:

This patch fixes HiDPI issue in the TextureMapper.
To support HiDPI in the TextureMapper, we need to draw scaled contents
in the TextureMapperTile, and apply the global scale in the root layer
to apply transforms correctly.

Supporting the device scale is handled at LayerTreeHostGtk and
TextureMapperBackingStore, and GraphicsLayerTextureMapper doesn't handle
the device scale directly.

>From the TextureMapperLayer, deviceScale and pageScale do not have to be
handled differently. These are multiplied and provided to
TextureMapperBackingStore.

* platform/graphics/texmap/TextureMapperTile.cpp:
(WebCore::TextureMapperTile::updateContents):
* platform/graphics/texmap/TextureMapperTile.h:
* platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:

Modified to increase the cover rect for tiles creation. For the image
contents, it just creates texture with a image size, regardless of the
contents scale.

* platform/graphics/texmap/BitmapTexture.cpp:
(WebCore::BitmapTexture::updateContents):

Apply the device scale to the graphics context before painting contents.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):

Apply the device scale and the page scale to the backing store

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
* UIProcess/gtk/RedirectedXCompositeWindow.cpp:

Modified to create scaled size of window.

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::initialize):
(WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):

We should apply device scale factor to the root layer to apply
the scale matrix before applying other transform matrices.

(WebKit::LayerTreeHostGtk::deviceScaleFactor): Added.
(WebKit::LayerTreeHostGtk::pageScaleFactor): Added.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp
trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.h
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperTile.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperTile.h
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
trunk/Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp
trunk/Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.h
trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (190343 => 190344)

--- trunk/Source/WebCore/ChangeLog	2015-09-30 06:00:03 UTC (rev 190343)
+++ trunk/Source/WebCore/ChangeLog	2015-09-30 09:55:59 UTC (rev 190344)
@@ -1,3 +1,43 @@
+2015-09-30  Gwang Yoon Hwang  <y...@igalia.com>
+
+[GTK] Support HiDPI Properly in WebKitGtk+ with the TextureMapper
+https://bugs.webkit.org/show_bug.cgi?id=141782
+
+Reviewed by Carlos Garcia Campos.
+
+This patch fixes HiDPI issue in the TextureMapper.
+To support HiDPI in the TextureMapper, we need to draw scaled contents
+in the TextureMapperTile, and apply the global scale in the root layer
+to apply transforms correctly.
+
+Supporting the device scale is handled at LayerTreeHostGtk and
+TextureMapperBackingStore, and GraphicsLayerTextureMapper doesn't handle
+the device scale directly.
+
+From the TextureMapperLayer, deviceScale and pageScale do not have to be
+handled differently. These are multiplied and provided to
+TextureMapperBackingStore.
+
+* platform/graphics/texmap/TextureMapperTile.cpp:
+(WebCore::TextureMapperTile::updateContents):
+* platform/graphics/texmap/TextureMapperTile.h:
+* platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
+
+Modified to increase the cover rect for tiles creation. For the image
+contents, it just creates texture with a image size, regardless of the
+contents scale.
+
+* platform/graphics/texmap/BitmapTexture.cpp:
+(WebCore::BitmapTexture::updateContents):
+
+Apply the device scale to the graphics context before painting contents.
+
+* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
+

[webkit-changes] [190095] trunk/Source

2015-09-21 Thread yoon
Title: [190095] trunk/Source








Revision 190095
Author y...@igalia.com
Date 2015-09-21 17:51:41 -0700 (Mon, 21 Sep 2015)


Log Message
[Threaded Compositor] Modified to use reference of GraphicsContext instead of pointer
https://bugs.webkit.org/show_bug.cgi?id=149399

Reviewed by Darin Adler.

This fixes build failure after r189144

Source/WebCore:

* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaint):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
* platform/graphics/texmap/coordinated/CoordinatedSurface.h:
* platform/graphics/texmap/coordinated/Tile.cpp:
(WebCore::Tile::paintToSurfaceContext):
* platform/graphics/texmap/coordinated/Tile.h:
* platform/graphics/texmap/coordinated/TiledBackingStoreClient.h:
* platform/graphics/texmap/coordinated/UpdateAtlas.cpp:

Source/WebKit2:

* Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp:
(WebKit::ThreadSafeCoordinatedSurface::paintToSurface):
(WebKit::ThreadSafeCoordinatedSurface::beginPaint):
(WebKit::ThreadSafeCoordinatedSurface::endPaint):
* Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedSurface.h
trunk/Source/WebCore/platform/graphics/texmap/coordinated/Tile.cpp
trunk/Source/WebCore/platform/graphics/texmap/coordinated/Tile.h
trunk/Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStoreClient.h
trunk/Source/WebCore/platform/graphics/texmap/coordinated/UpdateAtlas.cpp
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (190094 => 190095)

--- trunk/Source/WebCore/ChangeLog	2015-09-22 00:38:14 UTC (rev 190094)
+++ trunk/Source/WebCore/ChangeLog	2015-09-22 00:51:41 UTC (rev 190095)
@@ -1,3 +1,23 @@
+2015-09-21  Gwang Yoon Hwang  <y...@igalia.com>
+
+[Threaded Compositor] Modified to use reference of GraphicsContext instead of pointer
+https://bugs.webkit.org/show_bug.cgi?id=149399
+
+Reviewed by Darin Adler.
+
+This fixes build failure after r189144
+
+* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
+(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaint):
+* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
+* platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
+* platform/graphics/texmap/coordinated/CoordinatedSurface.h:
+* platform/graphics/texmap/coordinated/Tile.cpp:
+(WebCore::Tile::paintToSurfaceContext):
+* platform/graphics/texmap/coordinated/Tile.h:
+* platform/graphics/texmap/coordinated/TiledBackingStoreClient.h:
+* platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
+
 2015-09-21  Ryosuke Niwa  <rn...@webkit.org>
 
 The binding for getDistributedNodes unnecessarily makes a vector of nodes


Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp (190094 => 190095)

--- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp	2015-09-22 00:38:14 UTC (rev 190094)
+++ trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp	2015-09-22 00:51:41 UTC (rev 190095)
@@ -869,11 +869,11 @@
 m_mainBackingStore->setSupportsAlpha(!contentsOpaque());
 }
 
-void CoordinatedGraphicsLayer::tiledBackingStorePaint(GraphicsContext* context, const IntRect& rect)
+void CoordinatedGraphicsLayer::tiledBackingStorePaint(GraphicsContext& context, const IntRect& rect)
 {
 if (rect.isEmpty())
 return;
-paintGraphicsLayerContents(*context, rect);
+paintGraphicsLayerContents(context, rect);
 }
 
 void CoordinatedGraphicsLayer::didUpdateTileBuffers()


Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h (190094 => 190095)

--- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h	2015-09-22 00:38:14 UTC (rev 190094)
+++ trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h	2015-09-22 00:51:41 UTC (rev 190095)
@@ -129,7 +129,7 @@
 IntRect transformedVisibleRect();
 
 // TiledBackingStoreClient
-virtual void tiledBackingStoreP

[webkit-changes] [187416] trunk/Source/WebKit2

2015-07-27 Thread yoon
Title: [187416] trunk/Source/WebKit2








Revision 187416
Author y...@igalia.com
Date 2015-07-26 23:34:05 -0700 (Sun, 26 Jul 2015)


Log Message
[ThreadedCompositor] Unreviewed build fix after r186059
https://bugs.webkit.org/show_bug.cgi?id=147315


* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::glContext):
Explicitly cast u_int64 to GLNativeWindowType.
* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
(WebKit::ThreadedCoordinatedLayerTreeHost::create):
Update declaration to match with modified definition.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp
trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (187415 => 187416)

--- trunk/Source/WebKit2/ChangeLog	2015-07-27 05:54:35 UTC (rev 187415)
+++ trunk/Source/WebKit2/ChangeLog	2015-07-27 06:34:05 UTC (rev 187416)
@@ -1,3 +1,16 @@
+2015-07-26  Gwang Yoon Hwang  y...@igalia.com
+
+[ThreadedCompositor] Unreviewed build fix after r186059
+https://bugs.webkit.org/show_bug.cgi?id=147315
+
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
+(WebKit::ThreadedCompositor::glContext):
+Explicitly cast u_int64 to GLNativeWindowType.
+* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
+(WebKit::ThreadedCoordinatedLayerTreeHost::create):
+Update declaration to match with modified definition.
+
+
 2015-07-26  Chris Dumez  cdu...@apple.com
 
 [WK2][iOS] WebContent process main thread should have fixed priority


Modified: trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp (187415 => 187416)

--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp	2015-07-27 05:54:35 UTC (rev 187415)
+++ trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp	2015-07-27 06:34:05 UTC (rev 187416)
@@ -230,7 +230,7 @@
 if (!m_nativeSurfaceHandle)
 return 0;
 
-m_context = GLContext::createContextForWindow(m_nativeSurfaceHandle, GLContext::sharingContext());
+m_context = GLContext::createContextForWindow(reinterpret_castGLNativeWindowType(m_nativeSurfaceHandle), GLContext::sharingContext());
 return m_context.get();
 }
 


Modified: trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h (187415 => 187416)

--- trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h	2015-07-27 05:54:35 UTC (rev 187415)
+++ trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h	2015-07-27 06:34:05 UTC (rev 187416)
@@ -61,7 +61,7 @@
 class ThreadedCoordinatedLayerTreeHost : public LayerTreeHost, public WebCore::CompositingCoordinator::Client, public ThreadedCompositor::Client {
 WTF_MAKE_NONCOPYABLE(ThreadedCoordinatedLayerTreeHost); WTF_MAKE_FAST_ALLOCATED;
 public:
-static PassRefPtrThreadedCoordinatedLayerTreeHost create(WebPage*);
+static RefThreadedCoordinatedLayerTreeHost create(WebPage*);
 virtual ~ThreadedCoordinatedLayerTreeHost();
 
 virtual const LayerTreeContext layerTreeContext() override { return m_layerTreeContext; };






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [182230] trunk

2015-04-01 Thread yoon
Title: [182230] trunk








Revision 182230
Author y...@igalia.com
Date 2015-04-01 04:15:01 -0700 (Wed, 01 Apr 2015)


Log Message
Use colored diagnostics when building with cmake + ninja + clang
https://bugs.webkit.org/show_bug.cgi?id=143297

Reviewed by Žan Doberšek.

Because that ninja sets subprocess stdout/stderr to a pipe, clang
disables colored output.
This patch forces clang to use colored diagnostics when we are using
the ninja.

* Source/cmake/OptionsCommon.cmake:

Modified Paths

trunk/ChangeLog
trunk/Source/cmake/OptionsCommon.cmake




Diff

Modified: trunk/ChangeLog (182229 => 182230)

--- trunk/ChangeLog	2015-04-01 10:46:19 UTC (rev 182229)
+++ trunk/ChangeLog	2015-04-01 11:15:01 UTC (rev 182230)
@@ -1,3 +1,17 @@
+2015-04-01  Gwang Yoon Hwang  y...@igalia.com
+
+Use colored diagnostics when building with cmake + ninja + clang
+https://bugs.webkit.org/show_bug.cgi?id=143297
+
+Reviewed by Žan Doberšek.
+
+Because that ninja sets subprocess stdout/stderr to a pipe, clang
+disables colored output.
+This patch forces clang to use colored diagnostics when we are using
+the ninja.
+
+* Source/cmake/OptionsCommon.cmake:
+
 2015-03-29  Gyuyoung Kim  gyuyoung@samsung.com
 
 [CMake] Update old CMakeList.txt in gtest


Modified: trunk/Source/cmake/OptionsCommon.cmake (182229 => 182230)

--- trunk/Source/cmake/OptionsCommon.cmake	2015-04-01 10:46:19 UTC (rev 182229)
+++ trunk/Source/cmake/OptionsCommon.cmake	2015-04-01 11:15:01 UTC (rev 182230)
@@ -30,6 +30,11 @@
 set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -std=c++11)
 endif ()
 
+if (${CMAKE_CXX_COMPILER_ID} STREQUAL Clang AND CMAKE_GENERATOR STREQUAL Ninja)
+set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -fcolor-diagnostics)
+set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fcolor-diagnostics)
+endif ()
+
 # Detect Cortex-A53 core if CPU is ARM64 and OS is Linux.
 # Query /proc/cpuinfo for each available core and check reported CPU part number: 0xd03 signals Cortex-A53.
 # (see Main ID Register in ARM Cortex-A53 MPCore Processor Technical Reference Manual)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [182159] trunk/Source/WebCore

2015-03-30 Thread yoon
Title: [182159] trunk/Source/WebCore








Revision 182159
Author y...@igalia.com
Date 2015-03-30 15:59:58 -0700 (Mon, 30 Mar 2015)


Log Message
[Threaded Compositor] Crash when animation changes frequently.
https://bugs.webkit.org/show_bug.cgi?id=143213

Reviewed by Simon Fraser.

CompositingCoordinator copies CoordinatedGraphicsLayerState when
flushing GraphicsLayer changes, and ThreadedCoordinatedCompositor passes
it to compositing thread.

To ensure thread-safety, we need to provide copy constructor to copy
Animation object in TextureMapperAnimation instead of referencing it.

Since TimingFunction and TransformOperation used by KeyframeValueList are
not ThreadSafeRefCounted, these should be cloned also.

No new tests needed.

* platform/graphics/GraphicsLayer.h:
(WebCore::AnimationValue::AnimationValue):
(WebCore::FloatAnimationValue::FloatAnimationValue):
(WebCore::TransformAnimationValue::TransformAnimationValue):
(WebCore::FilterAnimationValue::FilterAnimationValue):
Adds deep copy constructor.

* platform/graphics/texmap/TextureMapperAnimation.cpp:
(WebCore::TextureMapperAnimation::TextureMapperAnimation):
Because the name of the animation can be AtomicString, we need to create
isolated version of string to ensure thread safty.

* platform/graphics/texmap/TextureMapperAnimation.h:
* platform/graphics/transforms/IdentityTransformOperation.h:
* platform/graphics/transforms/Matrix3DTransformOperation.h:
* platform/graphics/transforms/MatrixTransformOperation.h:
* platform/graphics/transforms/PerspectiveTransformOperation.h:
* platform/graphics/transforms/RotateTransformOperation.h:
* platform/graphics/transforms/ScaleTransformOperation.h:
* platform/graphics/transforms/SkewTransformOperation.h:
* platform/graphics/transforms/TransformOperation.h:
* platform/graphics/transforms/TranslateTransformOperation.h:
Adds TransformOperation::clone() for threadsafety.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/GraphicsLayer.h
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperAnimation.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperAnimation.h
trunk/Source/WebCore/platform/graphics/transforms/IdentityTransformOperation.h
trunk/Source/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.h
trunk/Source/WebCore/platform/graphics/transforms/MatrixTransformOperation.h
trunk/Source/WebCore/platform/graphics/transforms/PerspectiveTransformOperation.h
trunk/Source/WebCore/platform/graphics/transforms/RotateTransformOperation.h
trunk/Source/WebCore/platform/graphics/transforms/ScaleTransformOperation.h
trunk/Source/WebCore/platform/graphics/transforms/SkewTransformOperation.h
trunk/Source/WebCore/platform/graphics/transforms/TransformOperation.h
trunk/Source/WebCore/platform/graphics/transforms/TranslateTransformOperation.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (182158 => 182159)

--- trunk/Source/WebCore/ChangeLog	2015-03-30 22:58:22 UTC (rev 182158)
+++ trunk/Source/WebCore/ChangeLog	2015-03-30 22:59:58 UTC (rev 182159)
@@ -1,3 +1,46 @@
+2015-03-30  Gwang Yoon Hwang  y...@igalia.com
+
+[Threaded Compositor] Crash when animation changes frequently.
+https://bugs.webkit.org/show_bug.cgi?id=143213
+
+Reviewed by Simon Fraser.
+
+CompositingCoordinator copies CoordinatedGraphicsLayerState when
+flushing GraphicsLayer changes, and ThreadedCoordinatedCompositor passes
+it to compositing thread.
+
+To ensure thread-safety, we need to provide copy constructor to copy
+Animation object in TextureMapperAnimation instead of referencing it.
+
+Since TimingFunction and TransformOperation used by KeyframeValueList are
+not ThreadSafeRefCounted, these should be cloned also.
+
+No new tests needed.
+
+* platform/graphics/GraphicsLayer.h:
+(WebCore::AnimationValue::AnimationValue):
+(WebCore::FloatAnimationValue::FloatAnimationValue):
+(WebCore::TransformAnimationValue::TransformAnimationValue):
+(WebCore::FilterAnimationValue::FilterAnimationValue):
+Adds deep copy constructor.
+
+* platform/graphics/texmap/TextureMapperAnimation.cpp:
+(WebCore::TextureMapperAnimation::TextureMapperAnimation):
+Because the name of the animation can be AtomicString, we need to create
+isolated version of string to ensure thread safty.
+
+* platform/graphics/texmap/TextureMapperAnimation.h:
+* platform/graphics/transforms/IdentityTransformOperation.h:
+* platform/graphics/transforms/Matrix3DTransformOperation.h:
+* platform/graphics/transforms/MatrixTransformOperation.h:
+* platform/graphics/transforms/PerspectiveTransformOperation.h:
+* platform/graphics/transforms/RotateTransformOperation.h:
+* platform/graphics/transforms/ScaleTransformOperation.h:
+* platform/graphics/transforms/SkewTransformOperation.h:
+* platf

[webkit-changes] [182101] trunk/Source

2015-03-27 Thread yoon
Title: [182101] trunk/Source








Revision 182101
Author y...@igalia.com
Date 2015-03-27 20:15:07 -0700 (Fri, 27 Mar 2015)


Log Message
[TexMap] Seperate BitmapTexture related classes implementations from TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=142386

Reviewed by Žan Doberšek.

TextureMapper and TextureMapperGL are bloated and tightly coupled with
BitmapTexture. We should move these classes to seperated file of their own.
Also, this patch removes friend relationship from TextureMapperGL and  its
subsidiary classes.

The main purpose of this refactoring is to expose BitmapTexturePool to
renderers of platformlayers like Video and Canvas. By doing this, each
renderer can acquire textures from the global texture pool to paint
their contents directly.

Source/WebCore:

No new tests needed.

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
Include BitmapTextureGL and BitmapTexturePool explicitly

* platform/graphics/texmap/BitmapTexture.cpp: Added.
* platform/graphics/texmap/BitmapTexture.h: Added.
(WebCore::BitmapTexture::updateContents):
Exclude BitmapTexture class from TextureMapper

* platform/graphics/texmap/BitmapTextureGL.cpp: Added.
* platform/graphics/texmap/BitmapTextureGL.h: Added.
Exclude BitmapTextureGL class from TextureMapperGL
(WebCore::BitmapTextureGL::clipStack): Added.
Add the getter for clipStack for TextureMapperGL
(WebCore::BitmapTextureGL::Bind): Deleted.
(WebCore::BitmapTextureGL::BindAsSurface): Added.
Bind used TextureMapperGL's internal data directly to compute projection matrix as a friend class,
However, TextureMapperGL can compute projection matrix itself after binding job, so this
friend ship is not needed. Also, this patch renames Bind to BindAsSurface to remove ambiguity.

* platform/graphics/texmap/BitmapTextureImageBuffer.cpp: Added.
* platform/graphics/texmap/BitmapTextureImageBuffer.h: Added.
Exclude BitmapTextureImageBuffer class from TextureMapperImageBuffer

* platform/graphics/texmap/BitmapTexturePool.cpp: Added.
* platform/graphics/texmap/BitmapTexturePool.h: Added.
Exclude BitmapTexturePool class from TextureMapperGL
(WebCore::BitmapTexturePool::acquireTexture):
Modified to use passed GraphicsContext3D instead of TextureMapperGL to remove redundant coupling

* platform/graphics/texmap/TextureMapper.cpp:
* platform/graphics/texmap/TextureMapper.h:
Remove BitmapTexturePool and BitmapTexture from its implementation.

* platform/graphics/texmap/TextureMapperGL.cpp:
* platform/graphics/texmap/TextureMapperGL.h:
Remove BitmapTextureGL from its implementation.
(WebCore::TextureMapperGL::TextureMapperGL):
(WebCore::TextureMapperGL::clipStack):
(WebCore::TextureMapperGL::bindSurface):
(WebCore::TextureMapperGL::currentSurface):
Add a getter of the current surface for filtering operation in BitmapTextureGL.
It would be clear to move filtering operation from BitmapTextureGL to TextureMapperGL later.

(WebCore::TextureMapperGL::ClipStack):
Move inner class declaration to public.

* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
* platform/graphics/texmap/TextureMapperImageBuffer.h:
Remove BitmapTextureImageBuffer from its implementation.

Source/WebKit2:

* Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: Include BitmapTextureGL.h explicitly

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/PlatformEfl.cmake
trunk/Source/WebCore/PlatformGTK.cmake
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapper.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapper.h
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperImageBuffer.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp


Added Paths

trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp
trunk/Source/WebCore/platform/graphics/texmap/BitmapTexture.h
trunk/Source/WebCore/platform/graphics/texmap/BitmapTextureGL.cpp
trunk/Source/WebCore/platform/graphics/texmap/BitmapTextureGL.h
trunk/Source/WebCore/platform/graphics/texmap/BitmapTextureImageBuffer.cpp
trunk/Source/WebCore/platform/graphics/texmap/BitmapTextureImageBuffer.h
trunk/Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp
trunk/Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (182100 => 182101)

--- trunk/Source/WebCore/ChangeLog	2015-03-28 03:09:20 UTC (rev 182100)
+++ trunk/Source/WebCore/ChangeLog	2015-03-28 03:15:07 UTC (rev 182101)
@@ -1,3 +1,74 @@
+2015-03-27  Gwang Yoon Hwang  y...@igalia.com
+
+[TexMap] Seperate BitmapTexture related classes implementations from TextureMapper
+https://bugs.webkit.

[webkit-changes] [181620] trunk/Source/WebKit2

2015-03-17 Thread yoon
Title: [181620] trunk/Source/WebKit2








Revision 181620
Author y...@igalia.com
Date 2015-03-17 00:31:38 -0700 (Tue, 17 Mar 2015)


Log Message
REGRESSION(r180924): Unable to build WebKitGTK+ with threaded compositor

Unreviewed build fix.

* WebProcess/WebPage/LayerTreeHost.h:
Remove duplicated declaration of setNativeSurfaceHandleForCompositing.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (181619 => 181620)

--- trunk/Source/WebKit2/ChangeLog	2015-03-17 07:15:26 UTC (rev 181619)
+++ trunk/Source/WebKit2/ChangeLog	2015-03-17 07:31:38 UTC (rev 181620)
@@ -1,3 +1,12 @@
+2015-03-17  Gwang Yoon Hwang  y...@igalia.com
+
+REGRESSION(r180924): Unable to build WebKitGTK+ with threaded compositor
+
+Unreviewed build fix.
+
+* WebProcess/WebPage/LayerTreeHost.h:
+Remove duplicated declaration of setNativeSurfaceHandleForCompositing.
+
 2015-03-16  Ryosuke Niwa  rn...@webkit.org
 
 Enable ES6 classes by default


Modified: trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h (181619 => 181620)

--- trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h	2015-03-17 07:15:26 UTC (rev 181619)
+++ trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h	2015-03-17 07:31:38 UTC (rev 181620)
@@ -84,7 +84,6 @@
 #endif
 
 #if USE(COORDINATED_GRAPHICS_THREADED)
-virtual void setNativeSurfaceHandleForCompositing(uint64_t) = 0;
 virtual void viewportSizeChanged(const WebCore::IntSize) = 0;
 virtual void didChangeViewportProperties(const WebCore::ViewportAttributes) = 0;
 #endif






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [178412] trunk/Source/WebKit2

2015-01-14 Thread yoon
Title: [178412] trunk/Source/WebKit2








Revision 178412
Author y...@igalia.com
Date 2015-01-14 00:34:21 -0800 (Wed, 14 Jan 2015)


Log Message
Unreviewed GTK build fix after r178385.

WebUserContentControllerProxy is not RefCounted anymore.

* UIProcess/API/gtk/WebKitUserContentManager.cpp:
(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitUserContentManager.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (178411 => 178412)

--- trunk/Source/WebKit2/ChangeLog	2015-01-14 08:10:05 UTC (rev 178411)
+++ trunk/Source/WebKit2/ChangeLog	2015-01-14 08:34:21 UTC (rev 178412)
@@ -1,3 +1,12 @@
+2015-01-14  Gwang Yoon Hwang  y...@igalia.com
+
+Unreviewed GTK build fix after r178385.
+
+WebUserContentControllerProxy is not RefCounted anymore.
+
+* UIProcess/API/gtk/WebKitUserContentManager.cpp:
+(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):
+
 2015-01-13  Chris Dumez  cdu...@apple.com
 
 Unreviewed GTK build fix after r178375.


Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitUserContentManager.cpp (178411 => 178412)

--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitUserContentManager.cpp	2015-01-14 08:10:05 UTC (rev 178411)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitUserContentManager.cpp	2015-01-14 08:34:21 UTC (rev 178412)
@@ -34,11 +34,11 @@
 
 struct _WebKitUserContentManagerPrivate {
 _WebKitUserContentManagerPrivate()
-: userContentController(WebUserContentControllerProxy::create())
+: userContentController(std::make_uniqueWebUserContentControllerProxy())
 {
 }
 
-RefPtrWebUserContentControllerProxy userContentController;
+std::unique_ptrWebUserContentControllerProxy userContentController;
 };
 
 /**






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [178238] trunk/Source/WebKit2

2015-01-10 Thread yoon
Title: [178238] trunk/Source/WebKit2








Revision 178238
Author y...@igalia.com
Date 2015-01-10 04:07:26 -0800 (Sat, 10 Jan 2015)


Log Message
[ThreadedCompositor] Prevent excessive rendering call.
https://bugs.webkit.org/show_bug.cgi?id=140297

Reviewed by Žan Doberšek.

Not to waste CPU time on waiting V-Sync interval, the update timer of
compositing thread should be throttled.

In case of updating scene state, this update timer should be called as
soon as possible. However, when CoordinatedGraphicsScene requests update
viewport to advance the animations, this call should be scheduled for
a next frame.

No new tests. No change in functionality.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::CompositingRunLoop::CompositingRunLoop):
(WebKit::CompositingRunLoop::setUpdateTimer):
(WebKit::CompositingRunLoop::updateTimerFired):
(WebKit::ThreadedCompositor::setNeedsDisplay):
(WebKit::ThreadedCompositor::updateViewport):
(WebKit::ThreadedCompositor::scheduleDisplayImmediately):
(WebKit::ThreadedCompositor::didChangeVisibleRect):
(WebKit::ThreadedCompositor::scheduleDisplayIfNeeded): Deleted.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (178237 => 178238)

--- trunk/Source/WebKit2/ChangeLog	2015-01-10 08:49:32 UTC (rev 178237)
+++ trunk/Source/WebKit2/ChangeLog	2015-01-10 12:07:26 UTC (rev 178238)
@@ -1,3 +1,31 @@
+2015-01-10  Gwang Yoon Hwang  y...@igalia.com
+
+[ThreadedCompositor] Prevent excessive rendering call.
+https://bugs.webkit.org/show_bug.cgi?id=140297
+
+Reviewed by Žan Doberšek.
+
+Not to waste CPU time on waiting V-Sync interval, the update timer of
+compositing thread should be throttled.
+
+In case of updating scene state, this update timer should be called as
+soon as possible. However, when CoordinatedGraphicsScene requests update
+viewport to advance the animations, this call should be scheduled for
+a next frame.
+
+No new tests. No change in functionality.
+
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
+(WebKit::CompositingRunLoop::CompositingRunLoop):
+(WebKit::CompositingRunLoop::setUpdateTimer):
+(WebKit::CompositingRunLoop::updateTimerFired):
+(WebKit::ThreadedCompositor::setNeedsDisplay):
+(WebKit::ThreadedCompositor::updateViewport):
+(WebKit::ThreadedCompositor::scheduleDisplayImmediately):
+(WebKit::ThreadedCompositor::didChangeVisibleRect):
+(WebKit::ThreadedCompositor::scheduleDisplayIfNeeded): Deleted.
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
+
 2015-01-09  Sam Weinig  s...@webkit.org
 
 Try to fix the GTK and EFL builds.


Modified: trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp (178237 => 178238)

--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp	2015-01-10 08:49:32 UTC (rev 178237)
+++ trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp	2015-01-10 12:07:26 UTC (rev 178238)
@@ -47,10 +47,16 @@
 WTF_MAKE_NONCOPYABLE(CompositingRunLoop);
 WTF_MAKE_FAST_ALLOCATED;
 public:
+enum UpdateTiming {
+Immediate,
+WaitUntilNextFrame,
+};
+
 CompositingRunLoop(std::functionvoid() updateFunction)
 : m_runLoop(RunLoop::current())
 , m_updateTimer(m_runLoop, this, CompositingRunLoop::updateTimerFired)
 , m_updateFunction(WTF::move(updateFunction))
+, m_lastUpdateTime(0)
 {
 }
 
@@ -64,12 +70,17 @@
 m_runLoop.dispatch(WTF::move(function));
 }
 
-void setUpdateTimer(double interval = 0)
+void setUpdateTimer(UpdateTiming timing = Immediate)
 {
 if (m_updateTimer.isActive())
 return;
 
-m_updateTimer.startOneShot(interval);
+const static double targetFPS = 60;
+double nextUpdateTime = 0;
+if (timing == WaitUntilNextFrame)
+nextUpdateTime = std::max((1 / targetFPS) - (monotonicallyIncreasingTime() - m_lastUpdateTime), 0.0);
+
+m_updateTimer.startOneShot(nextUpdateTime);
 }
 
 void stopUpdateTimer()
@@ -88,11 +99,14 @@
 void updateTimerFired()
 {
 m_updateFunction();
+m_lastUpdateTime = monotonicallyIncreasingTime();
 }
 
 RunLoop m_runLoop;
 RunLoop::TimerCompositingRunLoop m_updateTimer;
 std::functionvoid() m_updateFunction;
+
+double m_lastUpdateTime;
 };
 
 PassRefPtrThreadedCompositor ThreadedCompositor::create(Client* client)
@@ -116,7 +130,7 @@
 {
 RefPtrThreadedCompositor pro

[webkit-changes] [178182] trunk/Source

2015-01-09 Thread yoon
Title: [178182] trunk/Source








Revision 178182
Author y...@igalia.com
Date 2015-01-09 11:55:56 -0800 (Fri, 09 Jan 2015)


Log Message
Rename GraphicsLayerAnimation to TextureMapperAnimation
https://bugs.webkit.org/show_bug.cgi?id=140296

Reviewed by Martin Robinson.

Source/WebCore:

GraphicsLayerAnimation is only used by TextureMapper and CoordinatedGraphics.
This should be placed in the platform/graphics/texmap.
And this patch also changes its name to TextureMapperAnimation to remove ambiguity.

No new tests because this is a simply refactoring.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::addAnimation):
(WebCore::GraphicsLayerTextureMapper::setAnimations):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
* platform/graphics/texmap/TextureMapperAnimation.cpp: Renamed from Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp.
* platform/graphics/texmap/TextureMapperAnimation.h: Renamed from Source/WebCore/platform/graphics/GraphicsLayerAnimation.h.
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::setAnimations):
* platform/graphics/texmap/TextureMapperLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::addAnimation):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:

Source/WebKit2:

GraphicsLayerAnimation is changed to TextureMapperAnimation
* Scripts/webkit/messages.py:
(headers_for_type):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(IPC::ArgumentCoderTextureMapperAnimation::encode):
(IPC::ArgumentCoderTextureMapperAnimation::decode):
(IPC::ArgumentCoderTextureMapperAnimations::encode):
(IPC::ArgumentCoderTextureMapperAnimations::decode):
(IPC::ArgumentCoderGraphicsLayerAnimation::encode): Deleted.
(IPC::ArgumentCoderGraphicsLayerAnimation::decode): Deleted.
(IPC::ArgumentCoderGraphicsLayerAnimations::encode): Deleted.
(IPC::ArgumentCoderGraphicsLayerAnimations::decode): Deleted.
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:

Modified Paths

trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Scripts/webkit/messages.py
trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h
trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h


Added Paths

trunk/Source/WebCore/platform/graphics/texmap/TextureMapperAnimation.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperAnimation.h


Removed Paths

trunk/Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp
trunk/Source/WebCore/platform/graphics/GraphicsLayerAnimation.h




Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (178181 => 178182)

--- trunk/Source/WebCore/CMakeLists.txt	2015-01-09 19:41:13 UTC (rev 178181)
+++ trunk/Source/WebCore/CMakeLists.txt	2015-01-09 19:55:56 UTC (rev 178182)
@@ -2079,7 +2079,6 @@
 platform/graphics/GradientImage.cpp
 platform/graphics/GraphicsContext.cpp
 platform/graphics/GraphicsLayer.cpp
-platform/graphics/GraphicsLayerAnimation.cpp
 platform/graphics/GraphicsLayerTransform.cpp
 platform/graphics/GraphicsLayerUpdater.cpp
 platform/graphics/GraphicsTypes.cpp
@@ -2141,6 +2140,7 @@
 platform/graphics/opentype/OpenTypeMathData.cpp
 
 platform/graphics/texmap/TextureMapper.cpp
+platform/graphics/texmap/TextureMapperAnimation.cpp
 platform/graphics/texmap/TextureMapperBackingStore.cpp
 platform/graphics/texmap/TextureMapperFPSCounter.cpp
 platform/graphics/texmap/TextureMapperImageBuffer.cpp


Modified: trunk/Source/WebCore/ChangeLog (178181 => 178182)

--- trunk/Source/WebCore/ChangeLog	2015-01-09 19:41:13 UTC (rev 178181)
+++ trunk/Source/WebCore/ChangeLog	2015-01-09 19:55:56 UTC (rev 178182)
@@ -1,3 +1,33 @@
+2015-01-09  Gwang Yoon Hwang  y...@igalia.com
+
+Rename GraphicsLayerAnimation to TextureMapperAnimation
+https://bugs.webkit.org/show_bug.

[webkit-changes] [178111] trunk/Source

2015-01-08 Thread yoon
Title: [178111] trunk/Source








Revision 178111
Author y...@igalia.com
Date 2015-01-08 05:29:41 -0800 (Thu, 08 Jan 2015)


Log Message
[GTK] Seperate updateBackingStore from flushCompositingState.
https://bugs.webkit.org/show_bug.cgi?id=136887

Reviewed by Žan Doberšek.

Source/WebCore:

When LayerTreeHostGtk flushes pending layer changes, it updates backing
stores using same loop. This makes requesting layer flush during
flushing in certain condition which causes a assertion failure.

Animated GIF's animations are drived by the painting cycle,
GraphicsLayerTextureMapper::updateBackingStoreIfNeeded would request
scheduleLayerFlush during flushing layers, if animated GIF needs to
advance its frame immediately. It doesn't mean the advanced frame should
be painted in this painting phase. This frame advancing happens after
painting a current frame to the backing store. It means the advanced
frame should be painted ASAP without using its frame timer.

This patch seperates updateBackingStore from flushCompositingState
to avoid above behavior.

No new tests. The bug is timing-dependent.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::toGraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:

Source/WebKit2:

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::flushPendingLayerChanges):
Modified to call GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (178110 => 178111)

--- trunk/Source/WebCore/ChangeLog	2015-01-08 11:43:00 UTC (rev 178110)
+++ trunk/Source/WebCore/ChangeLog	2015-01-08 13:29:41 UTC (rev 178111)
@@ -1,3 +1,33 @@
+2015-01-08  Gwang Yoon Hwang  y...@igalia.com
+
+[GTK] Seperate updateBackingStore from flushCompositingState.
+https://bugs.webkit.org/show_bug.cgi?id=136887
+
+Reviewed by Žan Doberšek.
+
+When LayerTreeHostGtk flushes pending layer changes, it updates backing
+stores using same loop. This makes requesting layer flush during
+flushing in certain condition which causes a assertion failure.
+
+Animated GIF's animations are drived by the painting cycle,
+GraphicsLayerTextureMapper::updateBackingStoreIfNeeded would request
+scheduleLayerFlush during flushing layers, if animated GIF needs to
+advance its frame immediately. It doesn't mean the advanced frame should
+be painted in this painting phase. This frame advancing happens after
+painting a current frame to the backing store. It means the advanced
+frame should be painted ASAP without using its frame timer.
+
+This patch seperates updateBackingStore from flushCompositingState
+to avoid above behavior.
+
+No new tests. The bug is timing-dependent.
+
+* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
+(WebCore::toGraphicsLayerTextureMapper):
+(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers):
+* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
+
 2015-01-07  Chris Dumez  cdu...@apple.com
 
 Move -webkit-tap-highlight-color / -webkit-overflow-scrolling / -webkit-touch-callout to the new StyleBuilder


Modified: trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp (178110 => 178111)

--- trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp	2015-01-08 11:43:00 UTC (rev 178110)
+++ trunk/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp	2015-01-08 13:29:41 UTC (rev 178111)
@@ -368,7 +368,6 @@
 prepareBackingStoreIfNeeded();
 commitLayerChanges();
 m_layer.syncAnimations();
-updateBackingStoreIfNeeded();
 }
 
 void GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded()
@@ -512,6 +511,21 @@
 child-flushCompositingState(rect);
 }
 
+void GraphicsLayerTextureMapper::updateBackingStoreIncludingSubLayers()
+{
+if (!m_layer.textureMapper())
+return;
+
+updateBackingStoreIfNeeded();
+
+if (maskLayer())
+downcastGraphicsLayerTextureMapper(*maskLayer()).updateBackingStoreIfNeeded();
+if (replicaLayer())
+downcastGraphicsLayerTextureMapper(*replicaLayer()).updateBackingStoreIfNeeded();
+for (auto* child : children())
+downcastGraphicsLayerTextureMapper(*child).updateBackingStoreIncludingSubLayers();
+}
+

[webkit-changes] [178119] trunk/Source/WebCore

2015-01-08 Thread yoon
Title: [178119] trunk/Source/WebCore








Revision 178119
Author y...@igalia.com
Date 2015-01-08 10:03:21 -0800 (Thu, 08 Jan 2015)


Log Message
[CoordinatedGraphics] Update fixedVisibleContentRect only it is actually changed
https://bugs.webkit.org/show_bug.cgi?id=140244

Reviewed by Martin Robinson.

CompositingCoordinator::setVisibleContentsRect already knows whether the
rect has been changed. Therefore, there is no need to call
FrameView::setFixedVisibleContentRect every time.

No new tests, covered by existing tests.

* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::setVisibleContentsRect):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (178118 => 178119)

--- trunk/Source/WebCore/ChangeLog	2015-01-08 18:02:09 UTC (rev 178118)
+++ trunk/Source/WebCore/ChangeLog	2015-01-08 18:03:21 UTC (rev 178119)
@@ -1,3 +1,19 @@
+2015-01-08  Gwang Yoon Hwang  y...@igalia.com
+
+[CoordinatedGraphics] Update fixedVisibleContentRect only it is actually changed
+https://bugs.webkit.org/show_bug.cgi?id=140244
+
+Reviewed by Martin Robinson.
+
+CompositingCoordinator::setVisibleContentsRect already knows whether the
+rect has been changed. Therefore, there is no need to call
+FrameView::setFixedVisibleContentRect every time.
+
+No new tests, covered by existing tests.
+
+* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
+(WebCore::CompositingCoordinator::setVisibleContentsRect):
+
 2015-01-08  Carlos Garcia Campos  cgar...@igalia.com
 
 REGRESSION(r177637) [HarfBuzz][GTK][EFL] It made 3 performance tests crash and +24 layout tests crashes/failures


Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp (178118 => 178119)

--- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp	2015-01-08 18:02:09 UTC (rev 178118)
+++ trunk/Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp	2015-01-08 18:03:21 UTC (rev 178119)
@@ -316,7 +316,7 @@
 }
 
 FrameView* view = m_page-mainFrame().view();
-if (view-useFixedLayout()) {
+if (view-useFixedLayout()  contentsRectDidChange) {
 // Round the rect instead of enclosing it to make sure that its size stays
 // the same while panning. This can have nasty effects on layout.
 view-setFixedVisibleContentRect(roundedIntRect(rect));






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [178120] trunk/Source/WebKit2

2015-01-08 Thread yoon
Title: [178120] trunk/Source/WebKit2








Revision 178120
Author y...@igalia.com
Date 2015-01-08 10:11:19 -0800 (Thu, 08 Jan 2015)


Log Message
[ThreadedCompositor] Update active animations without interrupting the main-thread
https://bugs.webkit.org/show_bug.cgi?id=140245

Reviewed by Martin Robinson.

In the Threaded Compositor, CoordinatedGraphicsScene can directly
request updateViewport to the compositing thread if it has any active
animation.

To keep current behavior of CoordinatedGraphics, this patch modifies
CoordinatedGraphicsScene to remember the constructed thread as a
clientRunLoop, and dispatch updateViewport calls to clientRunLoop.

No new tests. No change in functionality.

* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::dispatchOnClientRunLoop):
(WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
(WebKit::CoordinatedGraphicsScene::updateViewport):
* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::ThreadedCompositor):
(WebKit::ThreadedCompositor::runCompositingThread):

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (178119 => 178120)

--- trunk/Source/WebKit2/ChangeLog	2015-01-08 18:03:21 UTC (rev 178119)
+++ trunk/Source/WebKit2/ChangeLog	2015-01-08 18:11:19 UTC (rev 178120)
@@ -1,5 +1,32 @@
 2015-01-08  Gwang Yoon Hwang  y...@igalia.com
 
+[ThreadedCompositor] Update active animations without interrupting the main-thread
+https://bugs.webkit.org/show_bug.cgi?id=140245
+
+Reviewed by Martin Robinson.
+
+In the Threaded Compositor, CoordinatedGraphicsScene can directly
+request updateViewport to the compositing thread if it has any active
+animation.
+
+To keep current behavior of CoordinatedGraphics, this patch modifies
+CoordinatedGraphicsScene to remember the constructed thread as a
+clientRunLoop, and dispatch updateViewport calls to clientRunLoop.
+
+No new tests. No change in functionality.
+
+* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
+(WebKit::CoordinatedGraphicsScene::dispatchOnClientRunLoop):
+(WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
+(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
+(WebKit::CoordinatedGraphicsScene::updateViewport):
+* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
+(WebKit::ThreadedCompositor::ThreadedCompositor):
+(WebKit::ThreadedCompositor::runCompositingThread):
+
+2015-01-08  Gwang Yoon Hwang  y...@igalia.com
+
 [GTK] Seperate updateBackingStore from flushCompositingState.
 https://bugs.webkit.org/show_bug.cgi?id=136887
 


Modified: trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp (178119 => 178120)

--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp	2015-01-08 18:03:21 UTC (rev 178119)
+++ trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp	2015-01-08 18:11:19 UTC (rev 178120)
@@ -43,6 +43,14 @@
 callOnMainThread(WTF::move(function));
 }
 
+void CoordinatedGraphicsScene::dispatchOnClientRunLoop(std::functionvoid() function)
+{
+if (m_clientRunLoop == RunLoop::current())
+function();
+else
+m_clientRunLoop.dispatch(WTF::move(function));
+}
+
 static bool layerShouldHaveBackingStore(TextureMapperLayer* layer)
 {
 return layer-drawsContent()  layer-contentsAreVisible()  !layer-size().isEmpty();
@@ -53,6 +61,7 @@
 , m_isActive(false)
 , m_rootLayerID(InvalidCoordinatedLayerID)
 , m_viewBackgroundColor(Color::white)
+, m_clientRunLoop(RunLoop::current())
 {
 }
 
@@ -103,7 +112,7 @@
 
 if (currentRootLayer-descendantsOrSelfHaveRunningAnimations()) {
 RefPtrCoordinatedGraphicsScene protector(this);
-dispatchOnMainThread([=] {
+dispatchOnClientRunLoop([=] {
 protector-updateViewport();
 });
 }
@@ -138,7 +147,7 @@
 
 void CoordinatedGraphicsScene::updateViewport()
 {
-ASSERT(isMainThread());
+ASSERT(m_clientRunLoop == RunLoop::current());
 if (m_client)
 m_client-updateViewport();
 }


Modified: trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h (178119 => 178120)

--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h	2015-01-08 18:03:21 UTC (rev 178119)
+++ trunk/Source/WebKit2/Shared/Coordinate

[webkit-changes] [178095] trunk

2015-01-07 Thread yoon
trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp
trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h
trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp
trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h
trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h
trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.cpp
trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in
trunk/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp
trunk/Source/cmake/OptionsEfl.cmake
trunk/Source/cmake/OptionsGTK.cmake
trunk/Source/cmake/WebKitFeatures.cmake
trunk/Source/cmakeconfig.h.cmake
trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitperl/FeatureList.pm


Added Paths

trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp
trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h




Diff

Modified: trunk/ChangeLog (178094 => 178095)

--- trunk/ChangeLog	2015-01-08 04:17:50 UTC (rev 178094)
+++ trunk/ChangeLog	2015-01-08 04:29:24 UTC (rev 178095)
@@ -1,3 +1,20 @@
+2015-01-07  Gwang Yoon Hwang  y...@igalia.com
+
+[GTK][ThreadedCompositor] Add support for threaded compositor.
+https://bugs.webkit.org/show_bug.cgi?id=118265
+
+Reviewed by Martin Robinson.
+
+Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and
+autotools build systems. The feature is disabled by default.
+And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag
+from the feature flags.
+
+* Source/cmake/OptionsEfl.cmake:
+* Source/cmake/OptionsGTK.cmake:
+* Source/cmake/WebKitFeatures.cmake:
+* Source/cmakeconfig.h.cmake:
+
 2014-12-23  Alexey Proskuryakov  a...@apple.com
 
 Simplify building with ASan


Modified: trunk/Source/WebCore/ChangeLog (178094 => 178095)

--- trunk/Source/WebCore/ChangeLog	2015-01-08 04:17:50 UTC (rev 178094)
+++ trunk/Source/WebCore/ChangeLog	2015-01-08 04:29:24 UTC (rev 178095)
@@ -1,3 +1,19 @@
+2015-01-07  Gwang Yoon Hwang  y...@igalia.com
+
+[GTK][ThreadedCompositor] Add support for threaded compositor.
+https://bugs.webkit.org/show_bug.cgi?id=118265
+
+Reviewed by Martin Robinson.
+
+* PlatformGTK.cmake:
+Adds CoodinatedGraphics and threaded compositor related classes to
+support threaded compositor
+
+* platform/graphics/texmap/coordinated/CoordinatedTile.cpp:
+* platform/graphics/texmap/coordinated/CoordinatedTile.h:
+This class should be guarded by COORDINATED_GRAPHICS instead of
+TILED_BACKING_STORE
+
 2015-01-07  Daniel Bates  daba...@apple.com
 
 [iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT


Modified: trunk/Source/WebCore/PlatformGTK.cmake (178094 => 178095)

--- trunk/Source/WebCore/PlatformGTK.cmake	2015-01-08 04:17:50 UTC (rev 178094)
+++ trunk/Source/WebCore/PlatformGTK.cmake	2015-01-08 04:29:24 UTC (rev 178095)
@@ -374,6 +374,31 @@
 )
 endif ()
 
+if (ENABLE_THREADED_COMPOSITOR)
+list(APPEND WebCore_INCLUDE_DIRECTORIES
+${WEBCORE_DIR}/page/scrolling/coordinatedgraphics
+${WEBCORE_DIR}/platform/graphics/texmap/coordinated
+${WEBCORE_DIR}/platform/graphics/texmap/threadedcompositor
+)
+list(APPEND WebCore_SOURCES
+page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp
+page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp
+page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp
+page/scrolling/ScrollingStateStickyNode.cpp
+page/scrolling/ScrollingThread.cpp
+page/scrolling/ScrollingTreeNode.cpp
+page/scrolling/ScrollingTreeScrollingNode.cpp
+platform/graphics/TiledBackingStore.cpp
+platform/graphics/texmap/coordinated/AreaAllocator.cpp
+platform/graphics/texmap/coordinated/CompositingCoordinator.cpp
+platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
+platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp
+platform/graphics/texmap/coordinated/CoordinatedSurface.cpp
+platform/graphics/texmap/coordinated/CoordinatedTile.cpp
+platform/graphics/texmap/coordinated/UpdateAtlas.cpp
+)
+endif ()
+
 if (WTF_USE_EGL)
 list(APPEND WebCore_LIBRARIES
 ${EGL_LIBRARY}


Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedTile.cpp (178094 => 178095)

--- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedTile.cpp	2015-01-08 04:17:50 UTC (rev 178094)
+++ trunk/Source/WebCore/platform/graphics/texmap

[webkit-changes] [178024] trunk/Source/WebKit2

2015-01-06 Thread yoon
Title: [178024] trunk/Source/WebKit2








Revision 178024
Author y...@igalia.com
Date 2015-01-06 23:18:01 -0800 (Tue, 06 Jan 2015)


Log Message
Remove the remaining uses of OwnPtr in threaded compositor.
https://bugs.webkit.org/show_bug.cgi?id=140172

Reviewed by Sam Weinig.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::runCompositingThread):
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (178023 => 178024)

--- trunk/Source/WebKit2/ChangeLog	2015-01-07 07:16:00 UTC (rev 178023)
+++ trunk/Source/WebKit2/ChangeLog	2015-01-07 07:18:01 UTC (rev 178024)
@@ -1,3 +1,14 @@
+2015-01-06  Gwang Yoon Hwang  y...@igalia.com
+
+Remove the remaining uses of OwnPtr in threaded compositor.
+https://bugs.webkit.org/show_bug.cgi?id=140172
+
+Reviewed by Sam Weinig.
+
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
+(WebKit::ThreadedCompositor::runCompositingThread):
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
+
 2015-01-06  Timothy Horton  timothy_hor...@apple.com
 
 View state change callbacks are sometimes dropped on the floor


Modified: trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp (178023 => 178024)

--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp	2015-01-07 07:16:00 UTC (rev 178023)
+++ trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp	2015-01-07 07:18:01 UTC (rev 178024)
@@ -305,7 +305,7 @@
 {
 MutexLocker locker(m_terminateRunLoopConditionMutex);
 m_compositingRunLoop = nullptr;
-m_context.clear();
+m_context = nullptr;
 m_terminateRunLoopCondition.signal();
 }
 


Modified: trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h (178023 => 178024)

--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h	2015-01-07 07:16:00 UTC (rev 178023)
+++ trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h	2015-01-07 07:18:01 UTC (rev 178024)
@@ -102,7 +102,7 @@
 RefPtrCoordinatedGraphicsScene m_scene;
 std::unique_ptrSimpleViewportController m_viewportController;
 
-OwnPtrWebCore::GLContext m_context;
+std::unique_ptrWebCore::GLContext m_context;
 
 WebCore::IntSize m_viewportSize;
 uint64_t m_nativeSurfaceHandle;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [177276] trunk/Source/WebKit2

2014-12-15 Thread yoon
Title: [177276] trunk/Source/WebKit2








Revision 177276
Author y...@igalia.com
Date 2014-12-15 02:39:49 -0800 (Mon, 15 Dec 2014)


Log Message
Add initial implementation of ThreadSafeCoordinatedSurface, ThreadedCompositor, and SimpleViewportController
https://bugs.webkit.org/show_bug.cgi?id=118383

Reviewed by Martin Robinson.

Implements an initial version of the Threaded Compositor.

Threaded Compositor is a variant of Coordinated Graphics implementation.
Basic structure of the implementaion is simliar, thus, Threaded
Compositor reuses lots of classes from Coordinated Graphics. However,
instead of compositing on UI Process, Threaded Compositor performs
compositing on a dedicate thread of Web Process.

No new test, because it is in experimental stage.

* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
Removed a assertion not to force its creation in the main thread. In
the Threaded Compositor, it can be created in the dedicated thread.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: Added.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h: Added.
Implements a surface using ImageBuffer as a backend to use in the Web
Process.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: Added.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: Added.
Implements a compositor which runs on the created thread. It owns
SimpleViewportController and CoordinatedGraphicsScene to render scene on the
actual surface.

* Shared/CoordinatedGraphics/SimpleViewportController.cpp: Added.
* Shared/CoordinatedGraphics/SimpleViewportController.h: Added.
This class is responsible to handle scale factor and scrolling position
with a simplifed logic in the compositing thread.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp


Added Paths

trunk/Source/WebKit2/Shared/CoordinatedGraphics/SimpleViewportController.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/SimpleViewportController.h
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (177275 => 177276)

--- trunk/Source/WebKit2/ChangeLog	2014-12-15 09:58:39 UTC (rev 177275)
+++ trunk/Source/WebKit2/ChangeLog	2014-12-15 10:39:49 UTC (rev 177276)
@@ -1,3 +1,41 @@
+2014-12-15  Gwang Yoon Hwang  y...@igalia.com
+
+Add initial implementation of ThreadSafeCoordinatedSurface, ThreadedCompositor, and SimpleViewportController
+https://bugs.webkit.org/show_bug.cgi?id=118383
+
+Reviewed by Martin Robinson.
+
+Implements an initial version of the Threaded Compositor.
+
+Threaded Compositor is a variant of Coordinated Graphics implementation.
+Basic structure of the implementaion is simliar, thus, Threaded
+Compositor reuses lots of classes from Coordinated Graphics. However,
+instead of compositing on UI Process, Threaded Compositor performs
+compositing on a dedicate thread of Web Process.
+
+No new test, because it is in experimental stage.
+
+* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
+(WebKit::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
+Removed a assertion not to force its creation in the main thread. In
+the Threaded Compositor, it can be created in the dedicated thread.
+
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: Added.
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h: Added.
+Implements a surface using ImageBuffer as a backend to use in the Web
+Process.
+
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: Added.
+* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: Added.
+Implements a compositor which runs on the created thread. It owns
+SimpleViewportController and CoordinatedGraphicsScene to render scene on the
+actual surface.
+
+* Shared/CoordinatedGraphics/SimpleViewportController.cpp: Added.
+* Shared/CoordinatedGraphics/SimpleViewportController.h: Added.
+This class is responsible to handle scale factor and scrolling position
+with a simplifed logic in the compositing thread.
+
 2014-12-14  Andreas Kling  akl...@apple.com
 
 Replace PassRef with Ref/Ref across the board.


Modified: trunk/Source/WebKit2/Shared/CoordinatedGraph

[webkit-changes] [176946] trunk/Source/WebKit2

2014-12-08 Thread yoon
Title: [176946] trunk/Source/WebKit2








Revision 176946
Author y...@igalia.com
Date 2014-12-08 04:09:30 -0800 (Mon, 08 Dec 2014)


Log Message
[CoordinatedGraphics] Move CoordinatedBackingStore and CoordinatedGraphicsScene to Shared
https://bugs.webkit.org/show_bug.cgi?id=139385

Reviewed by Martin Robinson.

For the Threaded Compositor, CoordinatedBackingStore and
CoordinatedGraphicsScene should be placed at the Shared instead of
UIProcess because it can be used in the WebProcess also.

No new tests because there is no behavior change.

* PlatformEfl.cmake:
* Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp.
* Shared/CoordinatedGraphics/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h.
* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp.
* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/PlatformEfl.cmake


Added Paths

trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedBackingStore.h
trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp
trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h


Removed Paths

trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (176945 => 176946)

--- trunk/Source/WebKit2/ChangeLog	2014-12-08 11:34:48 UTC (rev 176945)
+++ trunk/Source/WebKit2/ChangeLog	2014-12-08 12:09:30 UTC (rev 176946)
@@ -1,3 +1,22 @@
+2014-12-08  Gwang Yoon Hwang  y...@igalia.com
+
+[CoordinatedGraphics] Move CoordinatedBackingStore and CoordinatedGraphicsScene to Shared
+https://bugs.webkit.org/show_bug.cgi?id=139385
+
+Reviewed by Martin Robinson.
+
+For the Threaded Compositor, CoordinatedBackingStore and
+CoordinatedGraphicsScene should be placed at the Shared instead of
+UIProcess because it can be used in the WebProcess also.
+
+No new tests because there is no behavior change.
+
+* PlatformEfl.cmake:
+* Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp.
+* Shared/CoordinatedGraphics/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h.
+* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp.
+* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h.
+
 2014-12-08  Shivakumar JM  shiva...@samsung.com
 
 Fix build warning in WebKit2/UIProcess module.


Modified: trunk/Source/WebKit2/PlatformEfl.cmake (176945 => 176946)

--- trunk/Source/WebKit2/PlatformEfl.cmake	2014-12-08 11:34:48 UTC (rev 176945)
+++ trunk/Source/WebKit2/PlatformEfl.cmake	2014-12-08 12:09:30 UTC (rev 176946)
@@ -23,7 +23,9 @@
 
 Shared/API/c/efl/WKArrayEfl.cpp
 
+Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp
 Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp
+Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp
 Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp
 
 Shared/Downloads/efl/DownloadSoupErrorsEfl.cpp
@@ -113,9 +115,7 @@
 UIProcess/API/efl/ewk_view.cpp
 UIProcess/API/efl/ewk_window_features.cpp
 
-UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp
 UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp
-UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp
 UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp
 UIProcess/CoordinatedGraphics/PageViewportController.cpp
 UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp


Copied: trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp (from rev 176945, trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp) (0 => 176946)

--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp	(rev 0)
+++ trunk/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp	2014-12-08 12:09:30 UTC (rev 176946)
@@ -0,0 +1,188 @@
+/*
+ Copyright (C) 2012 Nokia Corporation and/or its subsid

[webkit-changes] [176954] trunk/Source/WebKit2

2014-12-08 Thread yoon
Title: [176954] trunk/Source/WebKit2








Revision 176954
Author y...@igalia.com
Date 2014-12-08 10:46:49 -0800 (Mon, 08 Dec 2014)


Log Message
[GTK] Let DrawingArea manages setAcceleratedCompositingWindowId
https://bugs.webkit.org/show_bug.cgi?id=117230

Reviewed by Anders Carlsson.

This is a preparation patch for Threaded Coordinated Graphics.

LayerTreeHostGtk uses a native window handle to make glContext for
accelerated compositing. Therefore it is natural for DrawingArea to take
responsibility for the native window handle. And, in Coordinated
Graphics case, WebPage creates LayerTreeHost before receiving a native
window handle from UIProcess. It means we need a method to pass the
native window handle to already created LayerTreeHost.

This patch uses DrawingAreaProxy::setNativeSurfaceHandleForCompositing
instead of WebCoreProxy::setAcceleratedCompositingWindowId to set window
ID for accelerated compositing.

Also, this patch renames the setAcceleratedCompositingWindowId with a
more generic name, setNativeSurfaceHandleForCompositing.

No new tests. No change in functionality.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreateWebPage):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::setNativeSurfaceHandleForCompositing):
* UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/WebPageProxy.h:
* UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::setAcceleratedCompositingWindowId): Deleted.
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::nativeSurfaceHandleForCompositing):
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
* WebProcess/WebPage/DrawingAreaImpl.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::glContext):
(WebKit::LayerTreeHostGtk::initialize):
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::setAcceleratedCompositingWindowId): Deleted.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp
trunk/Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
trunk/Source/WebKit2/UIProcess/gtk/WebPageProxyGtk.cpp
trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h
trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in
trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in
trunk/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
trunk/Source/WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp




Diff

Modified: trunk/Source/WebKit2/ChangeLog (176953 => 176954)

--- trunk/Source/WebKit2/ChangeLog	2014-12-08 18:42:12 UTC (rev 176953)
+++ trunk/Source/WebKit2/ChangeLog	2014-12-08 18:46:49 UTC (rev 176954)
@@ -1,3 +1,51 @@
+2014-12-08  Gwang Yoon Hwang  y...@igalia.com
+
+[GTK] Let DrawingArea manages setAcceleratedCompositingWindowId
+https://bugs.webkit.org/show_bug.cgi?id=117230
+
+Reviewed by Anders Carlsson.
+
+This is a preparation patch for Threaded Coordinated Graphics.
+
+LayerTreeHostGtk uses a native window handle to make glContext for
+accelerated compositing. Therefore it is natural for DrawingArea to take
+responsibility for the native window handle. And, in Coordinated
+Graphics case, WebPage creates LayerTreeHost before receiving a native
+window handle from UIProcess. It means we need a method to pass the
+native window handle to already created LayerTreeHost.
+
+This patch uses DrawingAreaProxy::setNativeSurfaceHandleForCompositing
+instead of WebCoreProxy::setAcceleratedCompositingWindowId to set window
+ID for accelerated compositing.
+
+Also, this patch renames the setAcceleratedCompositingWindowId with a
+more generic name, setNativeSurfaceHandleForCompositing.
+
+No new tests. No change in functionality.
+
+* UIProcess/API/gtk/WebKitWebViewBase.cpp:
+(webkitWebViewBaseCreateWebPage):
+* UIProcess/DrawingAreaProxyImpl.cpp:
+(WebKit::DrawingAreaProxyImpl::setNativeSurfaceHandleForCompositing):
+* UIProcess/DrawingAreaProxyImpl.h:
+* UIProcess/WebPageProxy.h:
+* UIProcess/gtk/WebPageProxyGtk.cpp:
+(WebKit::WebPageProxy::setAcceleratedCompositingWindowId): Deleted.
+* WebProcess/WebPage/DrawingArea.h:
+(WebKit::DrawingArea::nativeSurfaceHandleForCompositing):
+* WebProcess/WebPage/DrawingArea.messages.in:
+* WebProcess/WebPage/DrawingAreaImpl.cpp:
+(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForComposit

[webkit-changes] [176929] trunk/Tools

2014-12-07 Thread yoon
Title: [176929] trunk/Tools








Revision 176929
Author y...@igalia.com
Date 2014-12-07 11:58:13 -0800 (Sun, 07 Dec 2014)


Log Message
Update style checker to deal with const override
https://bugs.webkit.org/show_bug.cgi?id=139371

Reviewed by Csaba Osztrogonác.

check-webkit-style shouldn't complain about an open brace to start a
line after a function definition with const override.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_braces):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_brace_at_begin_of_line):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py
trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py




Diff

Modified: trunk/Tools/ChangeLog (176928 => 176929)

--- trunk/Tools/ChangeLog	2014-12-07 19:24:14 UTC (rev 176928)
+++ trunk/Tools/ChangeLog	2014-12-07 19:58:13 UTC (rev 176929)
@@ -1,3 +1,18 @@
+2014-12-07  Gwang Yoon Hwang  y...@igalia.com
+
+Update style checker to deal with const override
+https://bugs.webkit.org/show_bug.cgi?id=139371
+
+Reviewed by Csaba Osztrogonác.
+
+check-webkit-style shouldn't complain about an open brace to start a
+line after a function definition with const override.
+
+* Scripts/webkitpy/style/checkers/cpp.py:
+(check_braces):
+* Scripts/webkitpy/style/checkers/cpp_unittest.py:
+(CppStyleTest.test_brace_at_begin_of_line):
+
 2014-12-07  Carlos Garcia Campos  cgar...@igalia.com
 
 [GTK] Fix GObject DOM bindings API break tests after r176920


Modified: trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py (176928 => 176929)

--- trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py	2014-12-07 19:24:14 UTC (rev 176928)
+++ trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py	2014-12-07 19:58:13 UTC (rev 176929)
@@ -2421,7 +2421,7 @@
 # We also allow '#' for #endif and '=' for array initialization,
 # and '- (' and '+ (' for Objective-C methods.
 previous_line = get_previous_non_blank_line(clean_lines, line_number)[0]
-if ((not search(r'[;:}{)=]\s*$|\)\s*((const|override)\s*)?(-\s*\S+)?\s*$', previous_line)
+if ((not search(r'[;:}{)=]\s*$|\)\s*((const|override|const override)\s*)?(-\s*\S+)?\s*$', previous_line)
  or search(r'\b(if|for|while|switch|else|NS_ENUM)\b', previous_line))
 and previous_line.find('#')  0
 and previous_line.find('- (') != 0


Modified: trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py (176928 => 176929)

--- trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py	2014-12-07 19:24:14 UTC (rev 176928)
+++ trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py	2014-12-07 19:58:13 UTC (rev 176929)
@@ -1651,6 +1651,11 @@
 '{\n'
 '}\n',
 '')
+self.assert_multi_line_lint(
+'int foo() const override\n'
+'{\n'
+'}\n',
+'')
 
 def test_mismatching_spaces_in_parens(self):
 self.assert_lint('if (foo ) {', 'Extra space before ) in if'






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [176931] trunk/Source/WebCore

2014-12-07 Thread yoon
Title: [176931] trunk/Source/WebCore








Revision 176931
Author y...@igalia.com
Date 2014-12-07 14:00:59 -0800 (Sun, 07 Dec 2014)


Log Message
[TextureMapper] Normalize pattern transform for pattern compositing
https://bugs.webkit.org/show_bug.cgi?id=139374

Reviewed by Martin Robinson.

In CoordGfx/TexMapGL, pattern compositing (for background image) uses
the patternTransform shader uniform. However, current implementation
miscalculates its transform matrix. It uses simple rectToRect
transformationMatrix which produces unnormalized garbage term.
This causes unexpected behavior at the fragmentation stage in some
mobile GPUs.

It should calculate its scale based on tileSize and contentSize,
and its position based on tilePhase and contentSize.

No new tests because the bug only occurs on some mobile GPUs.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::computePatternTransformIfNeeded):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (176930 => 176931)

--- trunk/Source/WebCore/ChangeLog	2014-12-07 20:05:17 UTC (rev 176930)
+++ trunk/Source/WebCore/ChangeLog	2014-12-07 22:00:59 UTC (rev 176931)
@@ -1,3 +1,25 @@
+2014-12-07  Gwang Yoon Hwang  y...@igalia.com
+
+[TextureMapper] Normalize pattern transform for pattern compositing
+https://bugs.webkit.org/show_bug.cgi?id=139374
+
+Reviewed by Martin Robinson.
+
+In CoordGfx/TexMapGL, pattern compositing (for background image) uses
+the patternTransform shader uniform. However, current implementation
+miscalculates its transform matrix. It uses simple rectToRect
+transformationMatrix which produces unnormalized garbage term.
+This causes unexpected behavior at the fragmentation stage in some
+mobile GPUs.
+
+It should calculate its scale based on tileSize and contentSize,
+and its position based on tilePhase and contentSize.
+
+No new tests because the bug only occurs on some mobile GPUs.
+
+* platform/graphics/texmap/TextureMapperLayer.cpp:
+(WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
+
 2014-12-07  Youenn Fablet  youenn.fab...@crf.canon.fr
 
 [Soup][Curl] HTTP header values should be treated as latin1, not UTF-8


Modified: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp (176930 => 176931)

--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp	2014-12-07 20:05:17 UTC (rev 176930)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp	2014-12-07 22:00:59 UTC (rev 176931)
@@ -99,7 +99,7 @@
 
 m_patternTransformDirty = false;
 m_patternTransform =
-TransformationMatrix::rectToRect(FloatRect(FloatPoint::zero(), m_state.contentsTileSize), m_state.contentsRect)
+TransformationMatrix::rectToRect(FloatRect(FloatPoint::zero(), m_state.contentsTileSize), FloatRect(FloatPoint::zero(), m_state.contentsRect.size()))
 .multiply(TransformationMatrix().translate(m_state.contentsTilePhase.x() / m_state.contentsRect.width(), m_state.contentsTilePhase.y() / m_state.contentsRect.height()));
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [176934] trunk/Source/WebKit2

2014-12-07 Thread yoon
Title: [176934] trunk/Source/WebKit2








Revision 176934
Author y...@igalia.com
Date 2014-12-07 19:50:34 -0800 (Sun, 07 Dec 2014)


Log Message
[CoordinatedGraphics] Change the namespace of CoordinatedBackingStore and CoordinatedGraphicsScene
https://bugs.webkit.org/show_bug.cgi?id=139372

Reviewed by Gyuyoung Kim.

CoordinatedBackingStore and CoordinatedGraphicsScene should be declared in the WebKit namespace
instead of WebCore namespace.

* UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
(WebKit::CoordinatedBackingStore::rect):
(WebCore::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile): Deleted.
(WebCore::CoordinatedBackingStore::rect): Deleted.
* UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
* UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h:
(WebKit::CoordinatedGraphicsScene::setViewBackgroundColor):
(WebKit::CoordinatedGraphicsScene::viewBackgroundColor):
(WebKit::CoordinatedGraphicsScene::layerByID):
(WebKit::CoordinatedGraphicsScene::rootLayer):
(WebCore::CoordinatedGraphicsScene::setViewBackgroundColor): Deleted.
(WebCore::CoordinatedGraphicsScene::viewBackgroundColor): Deleted.
(WebCore::CoordinatedGraphicsScene::layerByID): Deleted.
(WebCore::CoordinatedGraphicsScene::rootLayer): Deleted.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(WebKit::CoordinatedLayerTreeHostProxy::coordinatedGraphicsScene):
* UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
(WebKit::toImpl):
(WebKit::toAPI):
(toImpl): Deleted.
(toAPI): Deleted.
* UIProcess/CoordinatedGraphics/WebView.h:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/WebView.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (176933 => 176934)

--- trunk/Source/WebKit2/ChangeLog	2014-12-07 23:25:59 UTC (rev 176933)
+++ trunk/Source/WebKit2/ChangeLog	2014-12-08 03:50:34 UTC (rev 176934)
@@ -1,3 +1,39 @@
+2014-12-07  Gwang Yoon Hwang  y...@igalia.com
+
+[CoordinatedGraphics] Change the namespace of CoordinatedBackingStore and CoordinatedGraphicsScene
+https://bugs.webkit.org/show_bug.cgi?id=139372
+
+Reviewed by Gyuyoung Kim.
+
+CoordinatedBackingStore and CoordinatedGraphicsScene should be declared in the WebKit namespace
+instead of WebCore namespace.
+
+* UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
+* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
+* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
+(WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
+(WebKit::CoordinatedBackingStore::rect):
+(WebCore::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile): Deleted.
+(WebCore::CoordinatedBackingStore::rect): Deleted.
+* UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
+* UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h:
+(WebKit::CoordinatedGraphicsScene::setViewBackgroundColor):
+(WebKit::CoordinatedGraphicsScene::viewBackgroundColor):
+(WebKit::CoordinatedGraphicsScene::layerByID):
+(WebKit::CoordinatedGraphicsScene::rootLayer):
+(WebCore::CoordinatedGraphicsScene::setViewBackgroundColor): Deleted.
+(WebCore::CoordinatedGraphicsScene::viewBackgroundColor): Deleted.
+(WebCore::CoordinatedGraphicsScene::layerByID): Deleted.
+(WebCore::CoordinatedGraphicsScene::rootLayer): Deleted.
+* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
+(WebKit::CoordinatedLayerTreeHostProxy::coordinatedGraphicsScene):
+* UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
+(WebKit::toImpl):
+(WebKit::toAPI):
+(toImpl): Deleted.
+(toAPI): Deleted.
+* UIProcess/CoordinatedGraphics/WebView.h:
+
 2014-12-07  Dan Bernstein  m...@apple.com
 
 Introduce and deploy a function that allocates and returns an instance of a soft-linked class


Modified: trunk/Source/WebKit2/UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp (176933 => 176934)

--- trunk/Source/WebKit2/UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp	2014-12-07 23:25:59 UTC (rev 176933)
+++ trunk/Source/W

[webkit-changes] [175208] trunk/LayoutTests

2014-10-25 Thread yoon
Title: [175208] trunk/LayoutTests








Revision 175208
Author y...@igalia.com
Date 2014-10-25 21:44:01 -0700 (Sat, 25 Oct 2014)


Log Message
[GTK] Unreviewed GTK gardening after r174685.

* platform/gtk/TestExpectations: Report new failures and update expectations.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/gtk/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (175207 => 175208)

--- trunk/LayoutTests/ChangeLog	2014-10-26 04:12:04 UTC (rev 175207)
+++ trunk/LayoutTests/ChangeLog	2014-10-26 04:44:01 UTC (rev 175208)
@@ -1,3 +1,9 @@
+2014-10-25  Gwang Yoon Hwang  y...@igalia.com
+
+[GTK] Unreviewed GTK gardening after r174685.
+
+* platform/gtk/TestExpectations: Report new failures and update expectations.
+
 2014-10-25  Alexey Proskuryakov  a...@apple.com
 
 Land Yosemite results for six editing/selection/vertical* tests.


Modified: trunk/LayoutTests/platform/gtk/TestExpectations (175207 => 175208)

--- trunk/LayoutTests/platform/gtk/TestExpectations	2014-10-26 04:12:04 UTC (rev 175207)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2014-10-26 04:44:01 UTC (rev 175208)
@@ -1146,7 +1146,7 @@
 
 webkit.org/b/135095 fast/loader/child-frame-add-after-back-forward.html [ Timeout Pass ]
 
-webkit.org/b/135531 fast/dom/Geolocation/requestQueuingForHiddenPage.html [ Timeout ]
+webkit.org/b/135531 fast/dom/Geolocation/requestQueuingForHiddenPage.html [ Timeout Crash ]
 
 webkit.org/b/136069 fast/forms/mailto/formenctype-attribute-input-2.html [ Timeout Pass ]
 
@@ -2136,9 +2136,23 @@
 webkit.org/b/136754 css3/flexbox/csswg/flexbox_direction-row-reverse.html [ ImageOnlyFailure ]
 
 webkit.org/b/137109 accessibility/legend-children-are-visible.html [ Failure ]
+webkit.org/b/138069 accessibility/table-column-headers-with-captions.html [ Failure ]
 
 webkit.org/b/137695 media/video-controls-audiotracks-trackmenu.html [ Failure ]
+webkit.org/b/138074 media/video-volume-slider-drag.html [ Failure ]
 
+webkit.org/b/138072 http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html [ Failure ]
+webkit.org/b/138073 http/tests/media/hls/hls-audio-tracks.html [ Failure ]
+
+# Font is clipped incorrectly
+webkit.org/b/138077 editing/caret/color-span-inside-editable-background.html [ ImageOnlyFailure ]
+webkit.org/b/138077 fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html [ ImageOnlyFailure ]
+
+# Smooth scrolling causes failure of scrolling tests
+webkit.org/b/138078 fast/dom/vertical-scrollbar-in-rtl.html [ Failure ]
+webkit.org/b/138078 fast/repaint/fixed-move-after-keyboard-scroll.html [ Failure ]
+webkit.org/b/138078 fast/frames/flattening/scrolling-in-object.html [ ImageOnlyFailure ]
+
 # Incomplete implementation of eventSender causes this test to fail
 webkit.org/b/42194 fast/scrolling/scroll-select-list.html [ ImageOnlyFailure ]
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [170284] trunk/Source/WebKit2

2014-06-23 Thread yoon
Title: [170284] trunk/Source/WebKit2








Revision 170284
Author y...@igalia.com
Date 2014-06-23 00:27:05 -0700 (Mon, 23 Jun 2014)


Log Message
Unreviewed, GTK build fix after r170274.

* WebProcess/WebPage/DrawingAreaImpl.cpp:
Drawing::m_webPage changed to reference.

(WebKit::DrawingAreaImpl::DrawingAreaImpl):
(WebKit::DrawingAreaImpl::setNeedsDisplay):
(WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
(WebKit::DrawingAreaImpl::forceRepaint):
(WebKit::DrawingAreaImpl::updatePreferences):
(WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
(WebKit::DrawingAreaImpl::updateBackingStoreState):
(WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
(WebKit::DrawingAreaImpl::display):
* WebProcess/WebPage/DrawingAreaImpl.h:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (170283 => 170284)

--- trunk/Source/WebKit2/ChangeLog	2014-06-23 07:10:45 UTC (rev 170283)
+++ trunk/Source/WebKit2/ChangeLog	2014-06-23 07:27:05 UTC (rev 170284)
@@ -1,3 +1,23 @@
+2014-06-23  Gwang Yoon Hwang  y...@igalia.com
+
+Unreviewed, GTK build fix after r170274.
+
+* WebProcess/WebPage/DrawingAreaImpl.cpp:
+Drawing::m_webPage changed to reference.
+
+(WebKit::DrawingAreaImpl::DrawingAreaImpl):
+(WebKit::DrawingAreaImpl::setNeedsDisplay):
+(WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
+(WebKit::DrawingAreaImpl::forceRepaint):
+(WebKit::DrawingAreaImpl::updatePreferences):
+(WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
+(WebKit::DrawingAreaImpl::updateBackingStoreState):
+(WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
+(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+(WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+(WebKit::DrawingAreaImpl::display):
+* WebProcess/WebPage/DrawingAreaImpl.h:
+
 2014-06-22  Gyuyoung Kim  gyuyoung@samsung.com
 
 REGRESSION(r170163): It made everything crash on EFL


Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp (170283 => 170284)

--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp	2014-06-23 07:10:45 UTC (rev 170283)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp	2014-06-23 07:27:05 UTC (rev 170284)
@@ -48,7 +48,7 @@
 m_layerTreeHost-invalidate();
 }
 
-DrawingAreaImpl::DrawingAreaImpl(WebPage* webPage, const WebPageCreationParameters parameters)
+DrawingAreaImpl::DrawingAreaImpl(WebPage webPage, const WebPageCreationParameters parameters)
 : DrawingArea(DrawingAreaTypeImpl, webPage)
 , m_backingStoreStateID(0)
 , m_isPaintingEnabled(true)
@@ -63,7 +63,7 @@
 , m_displayTimer(RunLoop::main(), this, DrawingAreaImpl::displayTimerFired)
 , m_exitCompositingTimer(RunLoop::main(), this, DrawingAreaImpl::exitAcceleratedCompositingMode)
 {
-if (webPage-corePage()-settings().acceleratedDrawingEnabled() || webPage-corePage()-settings().forceCompositingMode())
+if (webPage.corePage()-settings().acceleratedDrawingEnabled() || webPage.corePage()-settings().forceCompositingMode())
 m_alwaysUseCompositing = true;
 
 if (m_alwaysUseCompositing)
@@ -81,7 +81,7 @@
 return;
 }
 
-setNeedsDisplayInRect(m_webPage-bounds());
+setNeedsDisplayInRect(m_webPage.bounds());
 }
 
 void DrawingAreaImpl::setNeedsDisplayInRect(const IntRect rect)
@@ -96,7 +96,7 @@
 }
 
 IntRect dirtyRect = rect;
-dirtyRect.intersect(m_webPage-bounds());
+dirtyRect.intersect(m_webPage.bounds());
 
 if (dirtyRect.isEmpty())
 return;
@@ -189,7 +189,7 @@
 {
 setNeedsDisplay();
 
-m_webPage-layoutIfNeeded();
+m_webPage.layoutIfNeeded();
 
 if (m_layerTreeHost) {
 // FIXME: We need to do the same work as the layerHostDidFlushLayers function here,
@@ -252,7 +252,7 @@
 
 void DrawingAreaImpl::updatePreferences(const WebPreferencesStore store)
 {
-m_webPage-corePage()-settings().setForceCompositingMode(store.getBoolValueForKey(WebPreferencesKey::forceCompositingModeKey()));
+m_webPage.corePage()-settings().setForceCompositingMode(store.getBoolValueForKey(WebPreferencesKey::forceCompositingModeKey()));
 }
 
 void DrawingAreaImpl::layerHostDidFlushLayers()
@@ -271,7 +271,7 @@
 
 ASSERT(!m_compositingAccordingToProxyMessages);
 if (!exitAcceleratedCompositingModePending()) {
-m_webPage-send(Messages::DrawingAreaProxy::EnterAcceleratedCompositingMode(m_backingStoreStateID, m_layerTreeHost-layerTreeContext()));
+m_webPage.send(Messages::DrawingAreaProxy::EnterAcceleratedCompositingMode(m_backingStoreStateID, m_layerTreeHost-layerTreeContext()));
 m_compositingAccordingToProxyMe

[webkit-changes] [170040] trunk/Tools

2014-06-16 Thread yoon
Title: [170040] trunk/Tools








Revision 170040
Author y...@igalia.com
Date 2014-06-16 19:26:36 -0700 (Mon, 16 Jun 2014)


Log Message
[GTK] Add llvmpipe (Mesa) to the JHBuild moduleset and force it when running layout tests
https://bugs.webkit.org/show_bug.cgi?id=131472

Reviewed by Martin Robinson.

This patch reapplies r167510 with fixes to add llvm as a dependency for llvmpipe.

* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._start): Use the LLVMPIPE_LIBGL_PATH to set the LD_LIBRARY_PATH
when running WebKitTestRunner with the Xvfb driver.
* gtk/install-dependencies: Add LLVM as a dependency to build llvmpipe.
* gtk/jhbuild.modules: Add Mesa to the modulelist so that the llvmpipe libGL is build, but not
installed.
* gtk/jhbuildrc: Set the LLVMPIPE_LIBGL_PATH environment variable so that the test driver knows
how to properly set the LD_LIBRARY_PATH variable. We do this because it is much easier to
calculate the path in the jhbuildrc than in the test driver code. This simplifies things a great
deal.

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/port/xvfbdriver.py
trunk/Tools/gtk/install-dependencies
trunk/Tools/gtk/jhbuild.modules
trunk/Tools/gtk/jhbuildrc




Diff

Modified: trunk/Tools/ChangeLog (170039 => 170040)

--- trunk/Tools/ChangeLog	2014-06-17 02:17:56 UTC (rev 170039)
+++ trunk/Tools/ChangeLog	2014-06-17 02:26:36 UTC (rev 170040)
@@ -1,3 +1,23 @@
+2014-06-16  Gwang Yoon Hwang  y...@igalia.com
+
+[GTK] Add llvmpipe (Mesa) to the JHBuild moduleset and force it when running layout tests
+https://bugs.webkit.org/show_bug.cgi?id=131472
+
+Reviewed by Martin Robinson.
+
+This patch reapplies r167510 with fixes to add llvm as a dependency for llvmpipe.
+
+* Scripts/webkitpy/port/xvfbdriver.py:
+(XvfbDriver._start): Use the LLVMPIPE_LIBGL_PATH to set the LD_LIBRARY_PATH
+when running WebKitTestRunner with the Xvfb driver.
+* gtk/install-dependencies: Add LLVM as a dependency to build llvmpipe.
+* gtk/jhbuild.modules: Add Mesa to the modulelist so that the llvmpipe libGL is build, but not
+installed.
+* gtk/jhbuildrc: Set the LLVMPIPE_LIBGL_PATH environment variable so that the test driver knows
+how to properly set the LD_LIBRARY_PATH variable. We do this because it is much easier to
+calculate the path in the jhbuildrc than in the test driver code. This simplifies things a great
+deal.
+
 2014-06-16  Tanay C  tana...@samsung.com
 
 Remove deprecated API warnings in WebKit/Tools/MiniBrowser/efl/main.c


Modified: trunk/Tools/Scripts/webkitpy/port/xvfbdriver.py (170039 => 170040)

--- trunk/Tools/Scripts/webkitpy/port/xvfbdriver.py	2014-06-17 02:17:56 UTC (rev 170039)
+++ trunk/Tools/Scripts/webkitpy/port/xvfbdriver.py	2014-06-17 02:26:36 UTC (rev 170040)
@@ -77,6 +77,13 @@
 display_id = self._next_free_display()
 self._lock_file = /tmp/.X%d-lock % display_id
 
+server_name = self._port.driver_name()
+environment = self._port.setup_environ_for_server(server_name)
+
+llvmpipe_libgl_path = os.environ.get('LLVMPIPE_LIBGL_PATH')
+if llvmpipe_libgl_path:
+environment['LD_LIBRARY_PATH'] = '%s:%s' % (llvmpipe_libgl_path, os.environ.get('LD_LIBRARY_PATH', ''))
+
 run_xvfb = [Xvfb, :%d % display_id, -screen,  0, 800x600x%s % self._xvfb_screen_depth(), -nolisten, tcp]
 with open(os.devnull, 'w') as devnull:
 self._xvfb_process = self._port.host.executive.popen(run_xvfb, stderr=devnull)
@@ -85,8 +92,6 @@
 # worker because the Xvfb display isn't ready yet. Halting execution a bit should avoid that.
 time.sleep(self._startup_delay_secs)
 
-server_name = self._port.driver_name()
-environment = self._port.setup_environ_for_server(server_name)
 # We must do this here because the DISPLAY number depends on _worker_number
 environment['DISPLAY'] = :%d % display_id
 self._driver_tempdir = self._port.host.filesystem.mkdtemp(prefix='%s-' % self._port.driver_name())


Modified: trunk/Tools/gtk/install-dependencies (170039 => 170040)

--- trunk/Tools/gtk/install-dependencies	2014-06-17 02:17:56 UTC (rev 170039)
+++ trunk/Tools/gtk/install-dependencies	2014-06-17 02:26:36 UTC (rev 170040)
@@ -109,6 +109,7 @@
 libtiff5-dev \
 libxfont-dev \
 libxkbfile-dev \
+llvm \
 python-dev \
 ragel \
 x11proto-bigreqs-dev \
@@ -206,6 +207,7 @@
 libpciaccess-devel \
 libtiff-devel \
 libxkbfile-devel \
+llvm \
 mesa-libEGL-devel \
 ragel \
 xorg-x11-font-utils \


Modified: trunk/Tools/gtk/jhbuild.modules (170039 => 170040)

--- trunk/Tools/gtk/jhbuild.modules	2014-06-17 02:17:56 UTC (rev 170039)
+++ trunk/Tools/gtk/jhbuild.modules	2014-06-17 02:26:36 UTC (rev 170040)
@@ -29,6 +29,7 @@
   dep package=gst-plugins-bad/
  

[webkit-changes] [169610] trunk/Source/WebCore

2014-06-05 Thread yoon
Title: [169610] trunk/Source/WebCore








Revision 169610
Author y...@igalia.com
Date 2014-06-05 02:25:30 -0700 (Thu, 05 Jun 2014)


Log Message
[GTK] Remove ScrollViewGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=133535

Reviewed by Carlos Garcia Campos.

Because GTK+ WK1 was removed, we don't have to consider special cases
handled in ScrollViewGtk.cpp.

No new tests are necessary because there is no behavior change.

* PlatformGTK.cmake:
* platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollbarModes):
(WebCore::ScrollView::visibleContentRectInternal):
* platform/gtk/ScrollViewGtk.cpp: Removed.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/PlatformGTK.cmake
trunk/Source/WebCore/platform/ScrollView.cpp


Removed Paths

trunk/Source/WebCore/platform/gtk/ScrollViewGtk.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (169609 => 169610)

--- trunk/Source/WebCore/ChangeLog	2014-06-05 09:23:08 UTC (rev 169609)
+++ trunk/Source/WebCore/ChangeLog	2014-06-05 09:25:30 UTC (rev 169610)
@@ -1,3 +1,21 @@
+2014-06-05  Gwang Yoon Hwang  y...@igalia.com
+
+[GTK] Remove ScrollViewGtk.cpp
+https://bugs.webkit.org/show_bug.cgi?id=133535
+
+Reviewed by Carlos Garcia Campos.
+
+Because GTK+ WK1 was removed, we don't have to consider special cases
+handled in ScrollViewGtk.cpp.
+
+No new tests are necessary because there is no behavior change.
+
+* PlatformGTK.cmake:
+* platform/ScrollView.cpp:
+(WebCore::ScrollView::setScrollbarModes):
+(WebCore::ScrollView::visibleContentRectInternal):
+* platform/gtk/ScrollViewGtk.cpp: Removed.
+
 2014-06-05  Frédéric Wang  fred.w...@free.fr
 
 MathML operators not stretched horizontally


Modified: trunk/Source/WebCore/PlatformGTK.cmake (169609 => 169610)

--- trunk/Source/WebCore/PlatformGTK.cmake	2014-06-05 09:23:08 UTC (rev 169609)
+++ trunk/Source/WebCore/PlatformGTK.cmake	2014-06-05 09:25:30 UTC (rev 169610)
@@ -225,7 +225,6 @@
 platform/gtk/RenderThemeGtk.cpp
 platform/gtk/RenderThemeGtk2.cpp
 platform/gtk/RenderThemeGtk3.cpp
-platform/gtk/ScrollViewGtk.cpp
 platform/gtk/ScrollbarThemeGtk.cpp
 platform/gtk/ScrollbarThemeGtk2.cpp
 platform/gtk/ScrollbarThemeGtk3.cpp


Modified: trunk/Source/WebCore/platform/ScrollView.cpp (169609 => 169610)

--- trunk/Source/WebCore/platform/ScrollView.cpp	2014-06-05 09:23:08 UTC (rev 169609)
+++ trunk/Source/WebCore/platform/ScrollView.cpp	2014-06-05 09:25:30 UTC (rev 169610)
@@ -132,7 +132,6 @@
 return false;
 }
 
-#if !PLATFORM(GTK)
 PassRefPtrScrollbar ScrollView::createScrollbar(ScrollbarOrientation orientation)
 {
 return Scrollbar::createNativeScrollbar(this, orientation, RegularScrollbar);
@@ -167,7 +166,6 @@
 else
 updateScrollbars(scrollOffset());
 }
-#endif
 
 void ScrollView::scrollbarModes(ScrollbarMode horizontalMode, ScrollbarMode verticalMode) const
 {
@@ -307,7 +305,6 @@
 return visibleContentSize;
 }
 
-#if !PLATFORM(GTK)
 IntRect ScrollView::visibleContentRectInternal(VisibleContentRectIncludesScrollbars scrollbarInclusion, VisibleContentRectBehavior visibleContentRectBehavior) const
 {
 #if PLATFORM(IOS)
@@ -332,7 +329,6 @@
 
 return unobscuredContentRect(scrollbarInclusion);
 }
-#endif
 
 IntSize ScrollView::layoutSize() const
 {


Deleted: trunk/Source/WebCore/platform/gtk/ScrollViewGtk.cpp (169609 => 169610)

--- trunk/Source/WebCore/platform/gtk/ScrollViewGtk.cpp	2014-06-05 09:23:08 UTC (rev 169609)
+++ trunk/Source/WebCore/platform/gtk/ScrollViewGtk.cpp	2014-06-05 09:25:30 UTC (rev 169610)
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2006 Michael Emmel mike.em...@gmail.com
- * Copyright (C) 2007, 2009 Holger Hans Peter Freyther
- * Copyright (C) 2008, 2010 Collabora Ltd.
- *
- * 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. ``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
- * 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
- * 

[webkit-changes] [169441] trunk/Tools

2014-05-28 Thread yoon
Title: [169441] trunk/Tools








Revision 169441
Author y...@igalia.com
Date 2014-05-28 21:06:17 -0700 (Wed, 28 May 2014)


Log Message
Unreviewed. Update my email addresses in contributors.json.

* Scripts/webkitpy/common/config/contributors.json:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/common/config/contributors.json




Diff

Modified: trunk/Tools/ChangeLog (169440 => 169441)

--- trunk/Tools/ChangeLog	2014-05-29 03:22:12 UTC (rev 169440)
+++ trunk/Tools/ChangeLog	2014-05-29 04:06:17 UTC (rev 169441)
@@ -1,3 +1,9 @@
+2014-05-28  Gwang Yoon Hwang  y...@igalia.com
+
+Unreviewed. Update my email addresses in contributors.json.
+
+* Scripts/webkitpy/common/config/contributors.json:
+
 2014-05-27  Jon Honeycutt  jhoneyc...@apple.com
 
 Need an API test for bug #133193 (r169315)


Modified: trunk/Tools/Scripts/webkitpy/common/config/contributors.json (169440 => 169441)

--- trunk/Tools/Scripts/webkitpy/common/config/contributors.json	2014-05-29 03:22:12 UTC (rev 169440)
+++ trunk/Tools/Scripts/webkitpy/common/config/contributors.json	2014-05-29 04:06:17 UTC (rev 169441)
@@ -974,10 +974,11 @@
   },
   Gwang Yoon Hwang : {
  emails : [
-ryum...@company100.net,
-ryum...@company100.com
+y...@igalia.com,
+y...@webkit.org,
+ryum...@company100.net
  ],
- expertise : Accelerated Compositing,
+ expertise : Accelerated Compositing, WebKitGTK+,
  nicks : [
 ryumiel
  ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes