Title: [88689] trunk/Source/WebKit2
Revision
88689
Author
[email protected]
Date
2011-06-13 13:58:02 -0700 (Mon, 13 Jun 2011)

Log Message

2011-06-13  Noam Rosenthal  <[email protected]>

        Unreviewed fix - removed parts of r88659 that were committed by mistake.

        The patch accidentally included parts that weren't supposed to be there, namely the whole
        code was duplicated. This patch rectifies that and brings it to the original reviewed code.

        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (88688 => 88689)


--- trunk/Source/WebKit2/ChangeLog	2011-06-13 20:56:20 UTC (rev 88688)
+++ trunk/Source/WebKit2/ChangeLog	2011-06-13 20:58:02 UTC (rev 88689)
@@ -1,3 +1,13 @@
+2011-06-13  Noam Rosenthal  <[email protected]>
+
+        Unreviewed fix - removed parts of r88659 that were committed by mistake.
+
+        The patch accidentally included parts that weren't supposed to be there, namely the whole
+        code was duplicated. This patch rectifies that and brings it to the original reviewed code.
+
+        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
+        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
+
 2011-06-13  Anders Carlsson  <[email protected]>
 
         Reviewed by Dan Bernstein.

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp (88688 => 88689)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp	2011-06-13 20:56:20 UTC (rev 88688)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp	2011-06-13 20:58:02 UTC (rev 88689)
@@ -511,515 +511,3 @@
 
 }
 #endif
-/*
- Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB.  If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "WebGraphicsLayer.h"
-
-#include "Animation.h"
-#include "BackingStore.h"
-#include "DrawingAreaMessages.h"
-#include "DrawingAreaProxyMessages.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "GraphicsContext.h"
-#include "GraphicsLayer.h"
-#include "Page.h"
-#include "WebPage.h"
-#include "text/CString.h"
-#include <HashMap.h>
-#include <wtf/CurrentTime.h>
-
-using namespace WebKit;
-
-namespace WebCore {
-
-static HashMap<WebLayerID, WebGraphicsLayer*>& layerByIDMap()
-{
-    static HashMap<WebLayerID, WebGraphicsLayer*> globalMap;
-    return globalMap;
-}
-
-static const float gTileDimension = 1024.0;
-
-WebGraphicsLayer* WebGraphicsLayer::layerByID(WebKit::WebLayerID id)
-{
-    HashMap<WebLayerID, WebGraphicsLayer*>& table = layerByIDMap();
-    HashMap<WebLayerID, WebGraphicsLayer*>::iterator it = table.find(id);
-    if (it == table.end())
-        return 0;
-    return it->second;
-}
-
-static Vector<WebLayerID>& deletedLayerIDs()
-{
-    static Vector<WebLayerID> layers;
-    return layers;
-}
-
-static WebLayerID toWebLayerID(GraphicsLayer* layer)
-{
-    return layer ? toWebGraphicsLayer(layer)->id() : 0;
-}
-
-void WebGraphicsLayer::notifyChange()
-{
-    m_modified = true;
-    if (client())
-        client()->notifySyncRequired(this);
-}
-
-WebGraphicsLayer::WebGraphicsLayer(GraphicsLayerClient* client)
-    : GraphicsLayer(client)
-    , m_needsDisplay(false)
-    , m_modified(false)
-    , m_contentNeedsDisplay(false)
-    , m_hasPendingAnimations(false)
-    , m_contentScale(1.f)
-{
-    static WebLayerID sID = 1000;
-    m_layerInfo.id = ++sID;
-    layerByIDMap().add(id(), this);
-}
-
-WebGraphicsLayer::~WebGraphicsLayer()
-{
-    layerByIDMap().remove(id());
-    deletedLayerIDs().append(id());
-}
-
-bool WebGraphicsLayer::setChildren(const Vector<GraphicsLayer*>& children)
-{
-    bool ok = GraphicsLayer::setChildren(children);
-    if (ok)
-        notifyChange();
-    return ok;
-}
-
-void WebGraphicsLayer::addChild(GraphicsLayer* layer)
-{
-    GraphicsLayer::addChild(layer);
-    notifyChange();
-}
-
-void WebGraphicsLayer::addChildAtIndex(GraphicsLayer* layer, int index)
-{
-    GraphicsLayer::addChildAtIndex(layer, index);
-    notifyChange();
-}
-
-void WebGraphicsLayer::addChildAbove(GraphicsLayer* layer, GraphicsLayer* sibling)
-{
-    GraphicsLayer::addChildAbove(layer, sibling);
-    notifyChange();
-}
-
-void WebGraphicsLayer::addChildBelow(GraphicsLayer* layer, GraphicsLayer* sibling)
-{
-    GraphicsLayer::addChildBelow(layer, sibling);
-    notifyChange();
-}
-
-bool WebGraphicsLayer::replaceChild(GraphicsLayer* oldChild, GraphicsLayer* newChild)
-{
-    bool ok = GraphicsLayer::replaceChild(oldChild, newChild);
-
-    if (ok)
-        notifyChange();
-    return ok;
-}
-
-void WebGraphicsLayer::removeFromParent()
-{
-    GraphicsLayer::removeFromParent();
-    notifyChange();
-}
-
-void WebGraphicsLayer::setPosition(const FloatPoint& p)
-{
-    if (position() == p)
-        return;
-
-    GraphicsLayer::setPosition(p);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setAnchorPoint(const FloatPoint3D& p)
-{
-    if (anchorPoint() == p)
-        return;
-
-    GraphicsLayer::setAnchorPoint(p);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setSize(const FloatSize& size)
-{
-    if (this->size() == size)
-        return;
-
-    GraphicsLayer::setSize(size);
-    setNeedsDisplay();
-    notifyChange();
-}
-
-void WebGraphicsLayer::setTransform(const TransformationMatrix& t)
-{
-    if (transform() == t)
-        return;
-
-    GraphicsLayer::setTransform(t);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setChildrenTransform(const TransformationMatrix& t)
-{
-    if (childrenTransform() == t)
-        return;
-
-    GraphicsLayer::setChildrenTransform(t);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setPreserves3D(bool b)
-{
-    if (preserves3D() == b)
-        return;
-
-    GraphicsLayer::setPreserves3D(b);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setMasksToBounds(bool b)
-{
-    if (masksToBounds() == b)
-        return;
-    GraphicsLayer::setMasksToBounds(b);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setDrawsContent(bool b)
-{
-    if (drawsContent() == b)
-        return;
-    GraphicsLayer::setDrawsContent(b);
-
-    if (b)
-        setNeedsDisplay();
-    notifyChange();
-}
-
-void WebGraphicsLayer::setContentsOpaque(bool b)
-{
-    if (contentsOpaque() == b)
-        return;
-    GraphicsLayer::setContentsOpaque(b);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setBackfaceVisibility(bool b)
-{
-    if (backfaceVisibility() == b)
-        return;
-
-    GraphicsLayer::setBackfaceVisibility(b);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setOpacity(float opacity)
-{
-    if (this->opacity() == opacity)
-        return;
-
-    GraphicsLayer::setOpacity(opacity);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setContentsRect(const IntRect& r)
-{
-    if (contentsRect() == r)
-        return;
-    if (m_image)
-        setNeedsDisplay();
-
-    GraphicsLayer::setContentsRect(r);
-    notifyChange();
-}
-
-void WebGraphicsLayer::notifyAnimationStarted(double time)
-{
-    if (client())
-        client()->notifyAnimationStarted(this, time);
-}
-
-// We put these stub implementations here for when we implement accelerated cross-process animations.
-bool WebGraphicsLayer::addAnimation(const KeyframeValueList& valueList, const IntSize& boxSize, const Animation* anim, const String& keyframesName, double timeOffset)
-{
-    return false;
-}
-
-void WebGraphicsLayer::pauseAnimation(const String& animationName, double timeOffset)
-{
-}
-
-void WebGraphicsLayer::removeAnimation(const String& animationName)
-{
-}
-
-void WebGraphicsLayer::setContentsToImage(Image* image)
-{
-    if (image == m_image.get())
-        return;
-
-    m_image = image;
-    setNeedsDisplay();
-    GraphicsLayer::setContentsToImage(image);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setMaskLayer(GraphicsLayer* layer)
-{
-    GraphicsLayer::setMaskLayer(layer);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setReplicatedByLayer(GraphicsLayer* layer)
-{
-    if (layer == replicaLayer())
-        return;
-    GraphicsLayer::setReplicatedByLayer(layer);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setNeedsDisplay()
-{
-    m_needsDisplay = true;
-    notifyChange();
-}
-
-void WebGraphicsLayer::setNeedsDisplayInRect(const FloatRect& rect)
-{
-    m_needsDisplayRect.unite(rect);
-    notifyChange();
-}
-
-void WebGraphicsLayer::setContentsNeedsDisplay()
-{
-    setNeedsDisplay();
-}
-
-WebLayerID WebGraphicsLayer::id() const
-{
-    return m_layerInfo.id;
-}
-
-void WebGraphicsLayer::didSynchronize()
-{
-    m_needsDisplay = false;
-    m_modified = false;
-    m_needsDisplayRect = FloatRect();
-    if (m_hasPendingAnimations)
-        notifyAnimationStarted(WTF::currentTime());
-    m_hasPendingAnimations = false;
-}
-
-const WebLayerInfo& WebGraphicsLayer::layerInfo() const
-{
-    return m_layerInfo;
-}
-
-void WebGraphicsLayer::syncCompositingState()
-{
-    syncCompositingStateForThisLayerOnly();
-    for (size_t i = 0; i < children().size(); ++i)
-        children()[i]->syncCompositingState();
-    if (replicaLayer())
-        replicaLayer()->syncCompositingState();
-    if (maskLayer())
-        maskLayer()->syncCompositingState();
-}
-
-WebGraphicsLayer* toWebGraphicsLayer(GraphicsLayer* layer)
-{
-    return static_cast<WebGraphicsLayer*>(layer);
-}
-
-FloatRect WebGraphicsLayer::needsDisplayRect() const
-{
-    FloatRect rect = FloatRect(0, 0, size().width(), size().height());
-    if (!m_needsDisplay)
-        rect.intersect(m_needsDisplayRect);
-    return rect;
-}
-
-Vector<WebKit::WebLayerID> WebGraphicsLayer::takeLayersToDelete()
-{
-    Vector<WebKit::WebLayerID> layers = deletedLayerIDs();
-    deletedLayerIDs().clear();
-    return layers;
-}
-
-void WebGraphicsLayer::syncCompositingStateForThisLayerOnly()
-{
-    m_layerInfo.name = name();
-    m_layerInfo.anchorPoint = anchorPoint();
-    m_layerInfo.backfaceVisible = backfaceVisibility();
-    m_layerInfo.childrenTransform = childrenTransform();
-    m_layerInfo.contentsOpaque = contentsOpaque();
-    m_layerInfo.contentsRect = contentsRect();
-    m_layerInfo.drawsContent = drawsContent();
-    m_layerInfo.mask = toWebLayerID(maskLayer());
-    m_layerInfo.masksToBounds = masksToBounds();
-    m_layerInfo.opacity = opacity();
-    m_layerInfo.parent = toWebLayerID(parent());
-    m_layerInfo.pos = position();
-    m_layerInfo.preserves3D = preserves3D();
-    m_layerInfo.replica = toWebLayerID(replicaLayer());
-    m_layerInfo.size = FloatSize(size().width() * m_contentScale, size().height() * m_contentScale);
-    m_layerInfo.transform = transform();
-    m_contentNeedsDisplay = false;
-    m_layerInfo.children.clear();
-
-    for (size_t i = 0; i < children().size(); ++i)
-        m_layerInfo.children.append(toWebLayerID(children()[i]));
-}
-
-static Vector<FloatRect> divideIntoTiles(const FloatRect& rect)
-{
-    Vector<FloatRect> tiles;
-    for (float y = rect.y(); y < rect.maxY(); y += gTileDimension) {
-        for (float x = rect.x(); x < rect.maxX(); x += gTileDimension) {
-            FloatRect tile(x, y, gTileDimension, gTileDimension);
-            tile.intersect(rect);
-            tiles.append(tile);
-        }
-    }
-    return tiles;
-}
-
-static void collectCompositingInfoForThisLayer(GraphicsLayer* layer, WebLayerTreeInfo& outInfo, Vector<WebGraphicsLayer*>& outLayers)
-{
-    WebGraphicsLayer* layer = toWebGraphicsLayer(layer);
-    if (!layer)
-        return;
-    if (!layer->isModified())
-        return;
-
-    outLayers.append(layer);
-    outInfo.layers.append(layer->layerInfo());
-
-    WebLayerInfo& layerInfo = outInfo.layers[outInfo.layers.size() - 1];
-    if (layer->image())
-        layerInfo.drawsContent = true;
-}
-
-static void collectCompositingInfoRecursively(GraphicsLayer* rootLayer, WebLayerTreeInfo& outInfo, Vector<WebGraphicsLayer*>& outLayers)
-{
-    if (!rootLayer)
-        return;
-
-    collectCompositingInfoForThisLayer(rootLayer, outInfo, outLayers);
-    collectCompositingInfoForThisLayer(rootLayer->maskLayer(), outInfo, outLayers);
-    collectCompositingInfoRecursively(rootLayer->replicaLayer(), outInfo, outLayers);
-
-    for (size_t i = 0; i < rootLayer->children().size(); ++i)
-        collectCompositingInfoRecursively(rootLayer->children()[i], outInfo, outLayers);
-}
-
-void WebGraphicsLayer::sendLayersToUIProcess(WebCore::GraphicsLayer* rootLayer, WebPage* webPage)
-{
-    webPage->layoutIfNeeded();
-    webPage->corePage()->mainFrame()->view()->syncCompositingStateIncludingSubframes();
-    WebLayerTreeInfo compositingInfo;
-    compositingInfo.rootLayerID = rootLayer ? toWebGraphicsLayer(rootLayer)->id() : 0;
-    compositingInfo.contentScale = 1.0;
-    compositingInfo.deletedLayerIDs = WebGraphicsLayer::takeLayersToDelete();
-    Vector<WebGraphicsLayer*> layers;
-    if (rootLayer)
-        collectCompositingInfoRecursively(rootLayer, compositingInfo, layers);
-
-    if (compositingInfo.deletedLayerIDs.isEmpty() && compositingInfo.layers.isEmpty())
-        return;
-
-    webPage->send(Messages::DrawingAreaProxy::SyncCompositingLayers(compositingInfo));
-
-    for (size_t i = 0; i < layers.size(); ++i) {
-        WebGraphicsLayer* layer = layers[i];
-        FloatRect updateRect = layer->needsDisplayRect();
-
-        layer->didSynchronize();
-
-        if (updateRect.isEmpty())
-            continue;
-
-        RefPtr<Image> directImage = layer->image();
-        if (directImage)
-            updateRect = layer->contentsRect();
-        else if (!layer->drawsContent())
-            continue;
-
-        Vector<FloatRect> tileRects = divideIntoTiles(updateRect);
-        for (size_t tileIndex = 0; tileIndex < tileRects.size(); ++tileIndex) {
-            const FloatRect& tileRect = tileRects[tileIndex];
-            IntRect enclosingUpdateRect = enclosingIntRect(tileRect);
-
-            WebLayerUpdateInfo chunk(enclosingUpdateRect);
-            chunk.layerID = uint32_t(layer->id());
-            RefPtr<ShareableBitmap> bitmap = ShareableBitmap::createShareable(chunk.rect.size(), ShareableBitmap::SupportsAlpha);
-            if (!bitmap)
-                return;
-
-            if (!bitmap->createHandle(chunk.bitmapHandle))
-                return;
-
-#if PLATFORM(QT)
-            QImage tileImage = bitmap->createQImage();
-            tileImage.fill(0);
-            {
-                QPainter painter(&tileImage);
-                painter.translate(-tileRect.x(), -tileRect.y());
-                GraphicsContext context(&painter);
-                if (directImage)
-                    context.drawImage(directImage.get(), ColorSpaceDeviceRGB, layer->contentsRect(), FloatRect(0, 0, directImage->width(), directImage->height()));
-                else
-                    layer->paintGraphicsLayerContents(context, enclosingUpdateRect);
-            }
-#endif
-
-            webPage->send(Messages::DrawingAreaProxy::UpdateCompositingLayerContent(chunk));
-        }
-    }
-}
-
-static PassOwnPtr<GraphicsLayer> createWebGraphicsLayer(GraphicsLayerClient* client)
-{
-    return adoptPtr(new WebGraphicsLayer(client));
-}
-
-void WebGraphicsLayer::initFactory()
-{
-    GraphicsLayer::setGraphicsLayerFactory(createWebGraphicsLayer);
-}
-
-}
-#endif

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h (88688 => 88689)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h	2011-06-13 20:56:20 UTC (rev 88688)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h	2011-06-13 20:58:02 UTC (rev 88689)
@@ -1,4 +1,4 @@
-/*
+    /*
  Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
 
  This library is free software; you can redistribute it and/or
@@ -110,117 +110,3 @@
 #endif
 
 #endif // WebGraphicsLayer_H
-
-/*
- Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB.  If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
- */
-
-
-#ifndef WebGraphicsLayer_h
-#define WebGraphicsLayer_h
-
-#include "FloatPoint3D.h"
-#include "GraphicsLayer.h"
-#include "Image.h"
-#include "IntSize.h"
-#include "RunLoop.h"
-#include "ShareableBitmap.h"
-#include "TransformationMatrix.h"
-#include "WebLayerTreeInfo.h"
-#include "WebProcess.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-
-namespace WebKit {
-class WebPage;
-}
-
-namespace WebCore {
-
-class WebGraphicsLayer : public WebCore::GraphicsLayer {
-public:
-    WebGraphicsLayer(GraphicsLayerClient*);
-    virtual ~WebGraphicsLayer();
-
-    // Reimplementations from GraphicsLayer.h.
-    bool setChildren(const Vector<GraphicsLayer*>&);
-    void addChild(GraphicsLayer*);
-    void addChildAtIndex(GraphicsLayer*, int);
-    void addChildAbove(GraphicsLayer*, GraphicsLayer*);
-    void addChildBelow(GraphicsLayer*, GraphicsLayer*);
-    bool replaceChild(GraphicsLayer*, GraphicsLayer*);
-    void removeFromParent();
-    void setPosition(const FloatPoint&);
-    void setAnchorPoint(const FloatPoint3D&);
-    void setSize(const FloatSize&);
-    void setTransform(const TransformationMatrix&);
-    void setChildrenTransform(const TransformationMatrix&);
-    void setPreserves3D(bool);
-    void setMasksToBounds(bool);
-    void setDrawsContent(bool);
-    void setContentsOpaque(bool);
-    void setBackfaceVisibility(bool);
-    void setOpacity(float);
-    void setContentsRect(const IntRect&);
-    bool addAnimation(const KeyframeValueList&, const IntSize&, const Animation*, const String&, double);
-    void pauseAnimation(const String&, double);
-    void removeAnimation(const String&);
-    void setContentsToImage(Image*);
-    void setMaskLayer(GraphicsLayer*);
-    void setReplicatedByLayer(GraphicsLayer*);
-    void setNeedsDisplay();
-    void setNeedsDisplayInRect(const FloatRect&);
-    void setContentsNeedsDisplay();
-    virtual void syncCompositingState();
-    virtual void syncCompositingStateForThisLayerOnly();
-
-    WebKit::WebLayerID id() const;
-    const WebKit::WebLayerInfo& layerInfo() const;
-    FloatRect needsDisplayRect() const;
-    static Vector<WebKit::WebLayerID> takeLayersToDelete();
-    static WebGraphicsLayer* layerByID(WebKit::WebLayerID);
-    bool isModified() const { return m_modified; }
-    void didSynchronize();
-    Image* image() { return m_image.get(); }
-    void notifyAnimationStarted(double);
-
-    static void initFactory();
-    static void sendLayersToUIProcess(WebCore::GraphicsLayer*, WebKit::WebPage*);
-
-private:
-    WebKit::WebLayerInfo m_layerInfo;
-    RefPtr<WebKit::ShareableBitmap> m_backingStore;
-    RefPtr<Image> m_image;
-    FloatRect m_needsDisplayRect;
-    bool m_needsDisplay;
-    bool m_modified;
-    bool m_contentNeedsDisplay;
-    bool m_hasPendingAnimations;
-
-    float m_contentScale;
-
-    void notifyChange();
-};
-
-WebGraphicsLayer* toWebGraphicsLayer(GraphicsLayer*);
-
-}
-#endif
-
-#endif // WebGraphicsLayer_H
-
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to