Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(308)

Unified Diff: third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp

Issue 2565073002: Implement the algorithm to test merging and overlap in PaintArtifactCompositor. (Closed)
Patch Set: none Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
diff --git a/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp b/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
index 5fc5ffa781202a056345fe3f7e3bbb626ef8c05b..1412591ac20daf693e3864d33fd8be68e691f44c 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
+++ b/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
@@ -826,69 +826,20 @@ void PaintController::checkUnderInvalidation() {
++m_underInvalidationCheckingBegin;
}
-String PaintController::displayItemListAsDebugString(
- const DisplayItemList& list,
- bool showPictures) const {
- StringBuilder stringBuilder;
- size_t i = 0;
- for (auto it = list.begin(); it != list.end(); ++it, ++i) {
- const DisplayItem& displayItem = *it;
- if (i)
- stringBuilder.append(",\n");
- stringBuilder.append(String::format("{index: %zu, ", i));
-#ifndef NDEBUG
- displayItem.dumpPropertiesAsDebugString(stringBuilder);
-#endif
-
- if (displayItem.hasValidClient()) {
-#if CHECK_DISPLAY_ITEM_CLIENT_ALIVENESS
- if (!displayItem.client().isAlive()) {
- stringBuilder.append(", clientIsAlive: false");
- } else {
-#else
- // debugName() and clientCacheIsValid() can only be called on a live
- // client, so only output it for m_newDisplayItemList, in which we are
- // sure the clients are all alive.
- if (&list == &m_newDisplayItemList) {
-#endif
-#ifdef NDEBUG
- stringBuilder.append(
- String::format("clientDebugName: \"%s\"",
- displayItem.client().debugName().ascii().data()));
-#endif
- stringBuilder.append(", cacheIsValid: ");
- stringBuilder.append(
- clientCacheIsValid(displayItem.client()) ? "true" : "false");
- }
-#ifndef NDEBUG
- if (showPictures && displayItem.isDrawing()) {
- if (const SkPicture* picture =
- static_cast<const DrawingDisplayItem&>(displayItem).picture()) {
- stringBuilder.append(", picture: ");
- stringBuilder.append(pictureAsDebugString(picture));
- }
- }
-#endif
- }
- if (list.hasVisualRect(i)) {
- IntRect visualRect = list.visualRect(i);
- stringBuilder.append(String::format(
- ", visualRect: [%d,%d %dx%d]", visualRect.x(), visualRect.y(),
- visualRect.width(), visualRect.height()));
- }
- stringBuilder.append('}');
- }
- return stringBuilder.toString();
-}
-
void PaintController::showDebugDataInternal(bool showPictures) const {
WTFLogAlways("current display item list: [%s]\n",
- displayItemListAsDebugString(
- m_currentPaintArtifact.getDisplayItemList(), showPictures)
+ m_currentPaintArtifact.getDisplayItemList()
+ .subsequenceAsJSON(
+ 0, m_currentPaintArtifact.getDisplayItemList().size(),
+ showPictures, false)
+ ->toPrettyJSONString()
.utf8()
.data());
WTFLogAlways("new display item list: [%s]\n",
- displayItemListAsDebugString(m_newDisplayItemList, showPictures)
+ m_newDisplayItemList
+ .subsequenceAsJSON(0, m_newDisplayItemList.size(),
+ showPictures, false)
+ ->toPrettyJSONString()
.utf8()
.data());
}

Powered by Google App Engine
This is Rietveld 408576698