Title: [134307] trunk/Source/WebKit2
- Revision
- 134307
- Author
- [email protected]
- Date
- 2012-11-12 14:30:01 -0800 (Mon, 12 Nov 2012)
Log Message
Add debug only code to dump the contents of a transaction
https://bugs.webkit.org/show_bug.cgi?id=101991
Reviewed by Andreas Kling.
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::writeIndent):
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::dump):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (134306 => 134307)
--- trunk/Source/WebKit2/ChangeLog 2012-11-12 22:26:28 UTC (rev 134306)
+++ trunk/Source/WebKit2/ChangeLog 2012-11-12 22:30:01 UTC (rev 134307)
@@ -1,5 +1,18 @@
2012-11-12 Anders Carlsson <[email protected]>
+ Add debug only code to dump the contents of a transaction
+ https://bugs.webkit.org/show_bug.cgi?id=101991
+
+ Reviewed by Andreas Kling.
+
+ * Shared/mac/RemoteLayerTreeTransaction.h:
+ * Shared/mac/RemoteLayerTreeTransaction.mm:
+ (WebKit::writeIndent):
+ (WebKit::dumpChangedLayers):
+ (WebKit::RemoteLayerTreeTransaction::dump):
+
+2012-11-12 Anders Carlsson <[email protected]>
+
Store name changes in the layer transaction
https://bugs.webkit.org/show_bug.cgi?id=101981
Modified: trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h (134306 => 134307)
--- trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h 2012-11-12 22:26:28 UTC (rev 134306)
+++ trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h 2012-11-12 22:30:01 UTC (rev 134307)
@@ -53,6 +53,10 @@
void layerPropertiesChanged(const RemoteGraphicsLayer*, unsigned changedProperties);
+#ifndef NDEBUG
+ void dump() const;
+#endif
+
private:
HashMap<uint64_t, LayerProperties> m_changedLayerProperties;
};
Modified: trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm (134306 => 134307)
--- trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm 2012-11-12 22:26:28 UTC (rev 134306)
+++ trunk/Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm 2012-11-12 22:30:01 UTC (rev 134307)
@@ -27,6 +27,8 @@
#include "RemoteLayerTreeTransaction.h"
#include "RemoteGraphicsLayer.h"
+#include <wtf/text/CString.h>
+#include <wtf/text/StringBuilder.h>
namespace WebKit {
@@ -53,4 +55,57 @@
layerProperties.name = graphicsLayer->name();
}
+#ifndef NDEBUG
+
+static void writeIndent(StringBuilder& builder, int indent)
+{
+ for (int i = 0; i < indent; ++i)
+ builder.append(' ');
+}
+
+static void dumpChangedLayers(StringBuilder& builder, const HashMap<uint64_t, RemoteLayerTreeTransaction::LayerProperties>& changedLayerProperties)
+{
+ if (changedLayerProperties.isEmpty())
+ return;
+
+ writeIndent(builder, 1);
+ builder.append("(changed-layers\n");
+
+ // Dump the layer properties sorted by layer ID.
+ Vector<uint64_t> layerIDs;
+ copyKeysToVector(changedLayerProperties, layerIDs);
+ std::sort(layerIDs.begin(), layerIDs.end());
+
+ for (uint64_t layerID: layerIDs) {
+ const RemoteLayerTreeTransaction::LayerProperties& layerProperties = changedLayerProperties.get(layerID);
+
+ writeIndent(builder, 2);
+ builder.append("(layer ");
+ builder.appendNumber(layerID);
+
+ if (layerProperties.changedProperties & RemoteLayerTreeTransaction::NameChanged) {
+ builder.append('\n');
+ writeIndent(builder, 3);
+ builder.append("(name \"");
+ builder.append(layerProperties.name);
+ builder.append("\")");
+ }
+
+ builder.append(")\n");
+ }
+}
+
+void RemoteLayerTreeTransaction::dump() const
+{
+ StringBuilder builder;
+
+ builder.append("(\n");
+ dumpChangedLayers(builder, m_changedLayerProperties);
+ builder.append(")\n");
+
+ fprintf(stderr, "%s", builder.toString().utf8().data());
+}
+
+#endif // NDEBUG
+
} // namespace WebKit
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes