| Index: Source/platform/graphics/paint/DisplayItem.h
|
| diff --git a/Source/core/paint/ViewDisplayList.h b/Source/platform/graphics/paint/DisplayItem.h
|
| similarity index 60%
|
| rename from Source/core/paint/ViewDisplayList.h
|
| rename to Source/platform/graphics/paint/DisplayItem.h
|
| index 4002c81f0f4188a2b8e0304d30fd5ed366b1f56c..f47dda81fe99a6ce1fa5e46d63d873a7da9de11d 100644
|
| --- a/Source/core/paint/ViewDisplayList.h
|
| +++ b/Source/platform/graphics/paint/DisplayItem.h
|
| @@ -2,20 +2,22 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef ViewDisplayList_h
|
| -#define ViewDisplayList_h
|
| +#ifndef DisplayItem_h
|
| +#define DisplayItem_h
|
|
|
| -#include "core/rendering/PaintPhase.h"
|
| -#include "wtf/HashSet.h"
|
| -#include "wtf/PassOwnPtr.h"
|
| -#include "wtf/Vector.h"
|
| +#include "platform/PlatformExport.h"
|
| +
|
| +#ifndef NDEBUG
|
| +#include "wtf/text/WTFString.h"
|
| +#endif
|
|
|
| namespace blink {
|
|
|
| class GraphicsContext;
|
| -class RenderObject;
|
|
|
| -class DisplayItem {
|
| +typedef void* DisplayItemClient;
|
| +
|
| +class PLATFORM_EXPORT DisplayItem {
|
| public:
|
| enum Type {
|
| // DisplayItem types must be kept in sync with PaintPhase.
|
| @@ -53,58 +55,39 @@ public:
|
|
|
| virtual void replay(GraphicsContext*) = 0;
|
|
|
| - const RenderObject* renderer() const { return m_id.renderer; }
|
| + DisplayItemClient client() const { return m_id.client; }
|
| Type type() const { return m_id.type; }
|
| - bool idsEqual(const DisplayItem& other) const { return m_id.renderer == other.m_id.renderer && m_id.type == other.m_id.type; }
|
| + bool idsEqual(const DisplayItem& other) const { return m_id.client == other.m_id.client && m_id.type == other.m_id.type; }
|
|
|
| #ifndef NDEBUG
|
| static WTF::String typeAsDebugString(DisplayItem::Type);
|
| - static WTF::String rendererDebugString(const RenderObject*);
|
| +
|
| + void setClientDebugString(const WTF::String& clientDebugString) { m_clientDebugString = clientDebugString; }
|
| + const WTF::String& clientDebugString() const { return m_clientDebugString; }
|
| +
|
| virtual WTF::String asDebugString() const;
|
| #endif
|
|
|
| protected:
|
| - DisplayItem(const RenderObject* renderer, Type type)
|
| - : m_id(renderer, type)
|
| + DisplayItem(DisplayItemClient client, Type type)
|
| + : m_id(client, type)
|
| { }
|
|
|
| private:
|
| struct Id {
|
| - Id(const RenderObject* r, Type t)
|
| - : renderer(r)
|
| + Id(DisplayItemClient c, Type t)
|
| + : client(c)
|
| , type(t)
|
| { }
|
|
|
| - const RenderObject* renderer;
|
| + const DisplayItemClient client;
|
| const Type type;
|
| } m_id;
|
| -};
|
| -
|
| -typedef Vector<OwnPtr<DisplayItem> > PaintList;
|
| -
|
| -class ViewDisplayList {
|
| -public:
|
| - ViewDisplayList() { };
|
| -
|
| - const PaintList& paintList();
|
| - void add(WTF::PassOwnPtr<DisplayItem>);
|
| - void invalidate(const RenderObject*);
|
| -
|
| #ifndef NDEBUG
|
| - void showDebugData() const;
|
| + WTF::String m_clientDebugString;
|
| #endif
|
| -
|
| -private:
|
| - PaintList::iterator findDisplayItem(PaintList::iterator, const DisplayItem&);
|
| - bool wasInvalidated(const DisplayItem&) const;
|
| - void updatePaintList();
|
| -
|
| - PaintList m_paintList;
|
| - HashSet<const RenderObject*> m_paintListRenderers;
|
| - HashSet<const RenderObject*> m_invalidated;
|
| - PaintList m_newPaints;
|
| };
|
|
|
| -} // namespace blink
|
| +}
|
|
|
| -#endif // ViewDisplayList_h
|
| +#endif // DisplayItem_h
|
|
|