Title: [139526] trunk/Source
Revision
139526
Author
commit-qu...@webkit.org
Date
2013-01-11 17:35:19 -0800 (Fri, 11 Jan 2013)

Log Message

[TexMap] Rename current[Transform|Opacity|Filters] in TextureMapperLayer.
https://bugs.webkit.org/show_bug.cgi?id=105760

Patch by Huang Dongsung <luxte...@company100.net> on 2013-01-11
Reviewed by Noam Rosenthal.

Source/WebCore:

TextureMapperLayer has two transform members: an original value and a
changeable value. The changeable value would be changed by animations.
This patch puts 'current' prefix on the changeable value to clarify
its purpose. Opacity and filters ditto.

No new tests. Refactoring only.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::computeTransformsRecursive):
(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::paintSelfAndChildren):
(WebCore::TextureMapperLayer::intermediateSurfaceRect):
(WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface):
(WebCore::TextureMapperLayer::isVisible):
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
(WebCore::TextureMapperLayer::paintRecursive):
(WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
(WebCore::TextureMapperLayer::syncAnimations):
(WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
* platform/graphics/texmap/TextureMapperLayer.h:
(WebCore::TextureMapperLayer::TextureMapperLayer):
(TextureMapperLayer):
(WebCore::TextureMapperLayer::State::State):

Source/WebKit/qt:

TextureMapperLayerClientQt uses setTransform() and setOpacity() in
GraphicsLayer instead of TextureMapperLayer like LayerTreeRenderer.
This removes unnecessary public API for TextureMapperLayer.

* WebCoreSupport/TextureMapperLayerClientQt.cpp:
(TextureMapperLayerClientQt::renderCompositedLayers):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (139525 => 139526)


--- trunk/Source/WebCore/ChangeLog	2013-01-12 01:32:22 UTC (rev 139525)
+++ trunk/Source/WebCore/ChangeLog	2013-01-12 01:35:19 UTC (rev 139526)
@@ -1,3 +1,34 @@
+2013-01-11  Huang Dongsung  <luxte...@company100.net>
+
+        [TexMap] Rename current[Transform|Opacity|Filters] in TextureMapperLayer.
+        https://bugs.webkit.org/show_bug.cgi?id=105760
+
+        Reviewed by Noam Rosenthal.
+
+        TextureMapperLayer has two transform members: an original value and a
+        changeable value. The changeable value would be changed by animations.
+        This patch puts 'current' prefix on the changeable value to clarify
+        its purpose. Opacity and filters ditto.
+
+        No new tests. Refactoring only.
+
+        * platform/graphics/texmap/TextureMapperLayer.cpp:
+        (WebCore::TextureMapperLayer::computeTransformsRecursive):
+        (WebCore::TextureMapperLayer::paintSelf):
+        (WebCore::TextureMapperLayer::paintSelfAndChildren):
+        (WebCore::TextureMapperLayer::intermediateSurfaceRect):
+        (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface):
+        (WebCore::TextureMapperLayer::isVisible):
+        (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
+        (WebCore::TextureMapperLayer::paintRecursive):
+        (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
+        (WebCore::TextureMapperLayer::syncAnimations):
+        (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
+        * platform/graphics/texmap/TextureMapperLayer.h:
+        (WebCore::TextureMapperLayer::TextureMapperLayer):
+        (TextureMapperLayer):
+        (WebCore::TextureMapperLayer::State::State):
+
 2013-01-11  Tony Gentilcore  <to...@chromium.org>
 
         Move constructTreeFromHTMLToken into HTMLDocumentParser

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


--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp	2013-01-12 01:32:22 UTC (rev 139525)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp	2013-01-12 01:35:19 UTC (rev 139526)
@@ -54,11 +54,6 @@
     return this;
 }
 
-void TextureMapperLayer::setTransform(const TransformationMatrix& matrix)
-{
-    m_transform.setLocalTransform(matrix);
-}
-
 void TextureMapperLayer::clearBackingStoresRecursive()
 {
     m_backingStore.clear();
@@ -77,15 +72,15 @@
     // Compute transforms recursively on the way down to leafs.
     TransformationMatrix parentTransform;
     if (m_parent)
-        parentTransform = m_parent->m_transform.combinedForChildren();
+        parentTransform = m_parent->m_currentTransform.combinedForChildren();
     else if (m_effectTarget)
-        parentTransform = m_effectTarget->m_transform.combined();
-    m_transform.combineTransforms(parentTransform);
+        parentTransform = m_effectTarget->m_currentTransform.combined();
+    m_currentTransform.combineTransforms(parentTransform);
 
-    m_state.visible = m_state.backfaceVisibility || !m_transform.combined().isBackFaceVisible();
+    m_state.visible = m_state.backfaceVisibility || !m_currentTransform.combined().isBackFaceVisible();
 
     if (m_parent && m_parent->m_state.preserves3D)
-        m_centerZ = m_transform.combined().mapPoint(FloatPoint3D(m_state.size.width() / 2, m_state.size.height() / 2, 0)).z();
+        m_centerZ = m_currentTransform.combined().mapPoint(FloatPoint3D(m_state.size.width() / 2, m_state.size.height() / 2, 0)).z();
 
     if (m_state.maskLayer)
         m_state.maskLayer->computeTransformsRecursive();
@@ -118,7 +113,7 @@
     TransformationMatrix transform;
     transform.translate(options.offset.width(), options.offset.height());
     transform.multiply(options.transform);
-    transform.multiply(m_transform.combined());
+    transform.multiply(m_currentTransform.combined());
 
     float opacity = options.opacity;
     RefPtr<BitmapTexture> mask = options.mask;
@@ -168,7 +163,7 @@
 
     bool shouldClip = m_state.masksToBounds && !m_state.preserves3D;
     if (shouldClip)
-        options.textureMapper->beginClip(TransformationMatrix(options.transform).multiply(m_transform.combined()), layerRect());
+        options.textureMapper->beginClip(TransformationMatrix(options.transform).multiply(m_currentTransform.combined()), layerRect());
 
     for (size_t i = 0; i < m_children.size(); ++i)
         m_children[i]->paintRecursive(options);
@@ -180,13 +175,13 @@
 IntRect TextureMapperLayer::intermediateSurfaceRect()
 {
     // FIXME: Add an inverse transform to LayerTransform.
-    return intermediateSurfaceRect(m_transform.combined().inverse());
+    return intermediateSurfaceRect(m_currentTransform.combined().inverse());
 }
 
 IntRect TextureMapperLayer::intermediateSurfaceRect(const TransformationMatrix& matrix)
 {
     IntRect rect;
-    TransformationMatrix localTransform = TransformationMatrix(matrix).multiply(m_transform.combined());
+    TransformationMatrix localTransform = TransformationMatrix(matrix).multiply(m_currentTransform.combined());
     rect = enclosingIntRect(localTransform.mapRect(layerRect()));
     if (!m_state.masksToBounds && !m_state.maskLayer) {
         for (size_t i = 0; i < m_children.size(); ++i)
@@ -194,12 +189,12 @@
     }
 
 #if ENABLE(CSS_FILTERS)
-    if (m_filters.hasOutsets()) {
+    if (m_currentFilters.hasOutsets()) {
         int leftOutset;
         int topOutset;
         int bottomOutset;
         int rightOutset;
-        m_filters.getOutsets(topOutset, rightOutset, bottomOutset, leftOutset);
+        m_currentFilters.getOutsets(topOutset, rightOutset, bottomOutset, leftOutset);
         IntRect unfilteredTargetRect(rect);
         rect.move(std::max(0, -leftOutset), std::max(0, -topOutset));
         rect.expand(leftOutset + rightOutset, topOutset + bottomOutset);
@@ -233,10 +228,10 @@
 bool TextureMapperLayer::shouldPaintToIntermediateSurface() const
 {
 #if ENABLE(CSS_FILTERS)
-    if (m_filters.size())
+    if (m_currentFilters.size())
         return true;
 #endif
-    bool hasOpacity = m_opacity < 0.99;
+    bool hasOpacity = m_currentOpacity < 0.99;
     bool canHaveMultipleLayersWithContent = countPotentialLayersWithContents() == MultipleLayersWithContents;
     bool hasReplica = !!m_state.replicaLayer;
     bool hasMask = !!m_state.maskLayer;
@@ -267,7 +262,7 @@
         return false;
     if (!m_state.contentsVisible && m_children.isEmpty())
         return false;
-    if (m_opacity < 0.01)
+    if (m_currentOpacity < 0.01)
         return false;
     return true;
 }
@@ -282,8 +277,8 @@
             replicaOptions.mask = m_state.replicaLayer->m_state.maskLayer->texture();
 
         replicaOptions.transform
-                  .multiply(m_state.replicaLayer->m_transform.combined())
-                  .multiply(m_transform.combined().inverse());
+            .multiply(m_state.replicaLayer->m_currentTransform.combined())
+            .multiply(m_currentTransform.combined().inverse());
         paintSelfAndChildren(replicaOptions);
     }
 
@@ -322,7 +317,7 @@
     if (!isVisible())
         return;
 
-    float opacity = options.opacity * m_opacity;
+    float opacity = options.opacity * m_currentOpacity;
     RefPtr<BitmapTexture> maskTexture = m_state.maskLayer ? m_state.maskLayer->texture() : 0;
 
     TextureMapperPaintOptions paintOptions(options);
@@ -342,7 +337,7 @@
     options.textureMapper->bindSurface(surface.get());
     paintOptions.opacity = 1;
 
-    paintOptions.transform = m_transform.combined().inverse();
+    paintOptions.transform = m_currentTransform.combined().inverse();
     paintOptions.offset = -IntSize(surfaceRect.x(), surfaceRect.y());
 
     paintSelfAndChildrenWithReplica(paintOptions);
@@ -352,14 +347,14 @@
         maskTexture = 0;
 
 #if ENABLE(CSS_FILTERS)
-    surface = applyFilters(m_filters, options.textureMapper, surface.get(), surfaceRect);
+    surface = applyFilters(m_currentFilters, options.textureMapper, surface.get(), surfaceRect);
 #endif
 
     options.textureMapper->bindSurface(options.surface.get());
     TransformationMatrix targetTransform;
     targetTransform.translate(options.offset.width(), options.offset.height());
     targetTransform.multiply(options.transform);
-    targetTransform.multiply(m_transform.combined());
+    targetTransform.multiply(m_currentTransform.combined());
 
     options.textureMapper->drawTexture(*surface.get(), surfaceRect, targetTransform, opacity, maskTexture.get());
 }
@@ -428,11 +423,12 @@
 
     m_contentsLayer = graphicsLayer->platformLayer();
 
-    m_transform.setPosition(adjustedPosition());
-    m_transform.setAnchorPoint(m_state.anchorPoint);
-    m_transform.setSize(m_state.size);
-    m_transform.setFlattening(!m_state.preserves3D);
-    m_transform.setChildrenTransform(m_state.childrenTransform);
+    m_currentTransform.setPosition(adjustedPosition());
+    m_currentTransform.setAnchorPoint(m_state.anchorPoint);
+    m_currentTransform.setSize(m_state.size);
+    m_currentTransform.setFlattening(!m_state.preserves3D);
+    m_currentTransform.setLocalTransform(m_state.transform);
+    m_currentTransform.setChildrenTransform(m_state.childrenTransform);
 
     syncAnimations();
 }
@@ -507,12 +503,12 @@
 {
     m_animations.apply(this);
     if (!m_animations.hasActiveAnimationsOfType(AnimatedPropertyWebkitTransform))
-        setTransform(m_state.transform);
+        setAnimatedTransform(m_state.transform);
     if (!m_animations.hasActiveAnimationsOfType(AnimatedPropertyOpacity))
-        setOpacity(m_state.opacity);
+        setAnimatedOpacity(m_state.opacity);
 #if ENABLE(CSS_FILTERS)
     if (!m_animations.hasActiveAnimationsOfType(AnimatedPropertyWebkitFilter))
-        setFilters(m_state.filters);
+        setAnimatedFilters(m_state.filters);
 #endif
 }
 
@@ -536,7 +532,7 @@
         m_scrollPositionDelta = FloatSize();
     else
         m_scrollPositionDelta = delta;
-    m_transform.setPosition(adjustedPosition());
+    m_currentTransform.setPosition(adjustedPosition());
 }
 
 }

Modified: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h (139525 => 139526)


--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h	2013-01-12 01:32:22 UTC (rev 139525)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h	2013-01-12 01:35:19 UTC (rev 139526)
@@ -78,7 +78,7 @@
         : m_parent(0)
         , m_effectTarget(0)
         , m_contentsLayer(0)
-        , m_opacity(1)
+        , m_currentOpacity(1)
         , m_centerZ(0)
         , m_textureMapper(0)
     { }
@@ -87,11 +87,6 @@
 
     TextureMapper* textureMapper() const;
     void flushCompositingStateForThisLayerOnly(GraphicsLayerTextureMapper*);
-    void setTransform(const TransformationMatrix&);
-    void setOpacity(float value) { m_opacity = value; }
-#if ENABLE(CSS_FILTERS)
-    void setFilters(const FilterOperations& filters) { m_filters = filters; }
-#endif
     void setTextureMapper(TextureMapper* texmap) { m_textureMapper = texmap; }
     bool descendantsOrSelfHaveRunningAnimations() const;
 
@@ -129,10 +124,10 @@
     void paintSelfAndChildrenWithReplica(const TextureMapperPaintOptions&);
 
     // GraphicsLayerAnimation::Client
-    void setAnimatedTransform(const TransformationMatrix& matrix) { setTransform(matrix); }
-    void setAnimatedOpacity(float opacity) { setOpacity(opacity); }
+    virtual void setAnimatedTransform(const TransformationMatrix& matrix) OVERRIDE { m_currentTransform.setLocalTransform(matrix); }
+    virtual void setAnimatedOpacity(float opacity) OVERRIDE { m_currentOpacity = opacity; }
 #if ENABLE(CSS_FILTERS)
-    virtual void setAnimatedFilters(const FilterOperations& filters) { setFilters(filters); }
+    virtual void setAnimatedFilters(const FilterOperations& filters) OVERRIDE { m_currentFilters = filters; }
 #endif
 
     void syncAnimations();
@@ -151,16 +146,15 @@
         return FloatRect(FloatPoint::zero(), m_state.size);
     }
 
-    GraphicsLayerTransform m_transform;
-
     Vector<TextureMapperLayer*> m_children;
     TextureMapperLayer* m_parent;
     TextureMapperLayer* m_effectTarget;
     RefPtr<TextureMapperBackingStore> m_backingStore;
     TextureMapperPlatformLayer* m_contentsLayer;
-    float m_opacity;
+    GraphicsLayerTransform m_currentTransform;
+    float m_currentOpacity;
 #if ENABLE(CSS_FILTERS)
-    FilterOperations m_filters;
+    FilterOperations m_currentFilters;
 #endif
     float m_centerZ;
 
@@ -188,7 +182,7 @@
         bool visible : 1;
 
         State()
-            : opacity(1.f)
+            : opacity(1)
             , maskLayer(0)
             , replicaLayer(0)
             , preserves3D(false)

Modified: trunk/Source/WebKit/qt/ChangeLog (139525 => 139526)


--- trunk/Source/WebKit/qt/ChangeLog	2013-01-12 01:32:22 UTC (rev 139525)
+++ trunk/Source/WebKit/qt/ChangeLog	2013-01-12 01:35:19 UTC (rev 139526)
@@ -1,3 +1,17 @@
+2013-01-11  Huang Dongsung  <luxte...@company100.net>
+
+        [TexMap] Rename current[Transform|Opacity|Filters] in TextureMapperLayer.
+        https://bugs.webkit.org/show_bug.cgi?id=105760
+
+        Reviewed by Noam Rosenthal.
+
+        TextureMapperLayerClientQt uses setTransform() and setOpacity() in
+        GraphicsLayer instead of TextureMapperLayer like LayerTreeRenderer.
+        This removes unnecessary public API for TextureMapperLayer.
+
+        * WebCoreSupport/TextureMapperLayerClientQt.cpp:
+        (TextureMapperLayerClientQt::renderCompositedLayers):
+
 2013-01-11  Allan Sandfeld Jensen  <allan.jen...@digia.com>
 
         [Qt][WK1] Web Audio support

Modified: trunk/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp (139525 => 139526)


--- trunk/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp	2013-01-12 01:32:22 UTC (rev 139525)
+++ trunk/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp	2013-01-12 01:35:19 UTC (rev 139526)
@@ -113,8 +113,11 @@
         0, 0, 1, 0,
         transform.m31(), transform.m32(), 0, transform.m33()
         );
-    m_rootTextureMapperLayer->setTransform(matrix);
-    m_rootTextureMapperLayer->setOpacity(painter->opacity());
+    if (m_rootGraphicsLayer->opacity() != painter->opacity() || m_rootGraphicsLayer->transform() != matrix) {
+        m_rootGraphicsLayer->setOpacity(painter->opacity());
+        m_rootGraphicsLayer->setTransform(matrix);
+        m_rootGraphicsLayer->flushCompositingStateForThisLayerOnly();
+    }
     m_textureMapper->beginPainting();
     m_textureMapper->beginClip(matrix, clip);
     m_rootTextureMapperLayer->paint();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to