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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/paint/RasterInvalidationTracking.cpp

Issue 2868283003: [SPv2] Renaming and refactor about raster invalidation tracking (Closed)
Patch Set: - Created 3 years, 7 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "platform/graphics/paint/RasterInvalidationTracking.h" 5 #include "platform/graphics/paint/RasterInvalidationTracking.h"
6 6
7 #include "platform/geometry/LayoutRect.h" 7 #include "platform/geometry/LayoutRect.h"
8 #include "platform/graphics/Color.h" 8 #include "platform/graphics/Color.h"
9 9
10 namespace blink { 10 namespace blink {
(...skipping 23 matching lines...) Expand all
34 static std::unique_ptr<JSONArray> RectAsJSONArray(const T& rect) { 34 static std::unique_ptr<JSONArray> RectAsJSONArray(const T& rect) {
35 std::unique_ptr<JSONArray> array = JSONArray::Create(); 35 std::unique_ptr<JSONArray> array = JSONArray::Create();
36 array->PushDouble(rect.X()); 36 array->PushDouble(rect.X());
37 array->PushDouble(rect.Y()); 37 array->PushDouble(rect.Y());
38 array->PushDouble(rect.Width()); 38 array->PushDouble(rect.Width());
39 array->PushDouble(rect.Height()); 39 array->PushDouble(rect.Height());
40 return array; 40 return array;
41 } 41 }
42 42
43 void RasterInvalidationTracking::AsJSON(JSONObject* json) { 43 void RasterInvalidationTracking::AsJSON(JSONObject* json) {
44 if (!tracked_raster_invalidations.IsEmpty()) { 44 if (!invalidations.IsEmpty()) {
45 std::sort(tracked_raster_invalidations.begin(), 45 std::sort(invalidations.begin(), invalidations.end(),
46 tracked_raster_invalidations.end(),
47 &CompareRasterInvalidationInfo); 46 &CompareRasterInvalidationInfo);
48 std::unique_ptr<JSONArray> paint_invalidations_json = JSONArray::Create(); 47 std::unique_ptr<JSONArray> paint_invalidations_json = JSONArray::Create();
49 for (auto& info : tracked_raster_invalidations) { 48 for (auto& info : invalidations) {
50 std::unique_ptr<JSONObject> info_json = JSONObject::Create(); 49 std::unique_ptr<JSONObject> info_json = JSONObject::Create();
51 info_json->SetString("object", info.client_debug_name); 50 info_json->SetString("object", info.client_debug_name);
52 if (!info.rect.IsEmpty()) { 51 if (!info.rect.IsEmpty()) {
53 if (info.rect == LayoutRect::InfiniteIntRect()) 52 if (info.rect == LayoutRect::InfiniteIntRect())
54 info_json->SetString("rect", "infinite"); 53 info_json->SetString("rect", "infinite");
55 else 54 else
56 info_json->SetArray("rect", RectAsJSONArray(info.rect)); 55 info_json->SetArray("rect", RectAsJSONArray(info.rect));
57 } 56 }
58 info_json->SetString("reason", 57 info_json->SetString("reason",
59 PaintInvalidationReasonToString(info.reason)); 58 PaintInvalidationReasonToString(info.reason));
60 paint_invalidations_json->PushObject(std::move(info_json)); 59 paint_invalidations_json->PushObject(std::move(info_json));
61 } 60 }
62 json->SetArray("paintInvalidations", std::move(paint_invalidations_json)); 61 json->SetArray("paintInvalidations", std::move(paint_invalidations_json));
63 } 62 }
64 63
65 if (!under_paint_invalidations.IsEmpty()) { 64 if (!under_invalidations.IsEmpty()) {
66 std::unique_ptr<JSONArray> under_paint_invalidations_json = 65 std::unique_ptr<JSONArray> under_paint_invalidations_json =
67 JSONArray::Create(); 66 JSONArray::Create();
68 for (auto& under_paint_invalidation : under_paint_invalidations) { 67 for (auto& under_paint_invalidation : under_invalidations) {
69 std::unique_ptr<JSONObject> under_paint_invalidation_json = 68 std::unique_ptr<JSONObject> under_paint_invalidation_json =
70 JSONObject::Create(); 69 JSONObject::Create();
71 under_paint_invalidation_json->SetDouble("x", under_paint_invalidation.x); 70 under_paint_invalidation_json->SetDouble("x", under_paint_invalidation.x);
72 under_paint_invalidation_json->SetDouble("y", under_paint_invalidation.y); 71 under_paint_invalidation_json->SetDouble("y", under_paint_invalidation.y);
73 under_paint_invalidation_json->SetString( 72 under_paint_invalidation_json->SetString(
74 "oldPixel", 73 "oldPixel",
75 Color(under_paint_invalidation.old_pixel).NameForLayoutTreeAsText()); 74 Color(under_paint_invalidation.old_pixel).NameForLayoutTreeAsText());
76 under_paint_invalidation_json->SetString( 75 under_paint_invalidation_json->SetString(
77 "newPixel", 76 "newPixel",
78 Color(under_paint_invalidation.new_pixel).NameForLayoutTreeAsText()); 77 Color(under_paint_invalidation.new_pixel).NameForLayoutTreeAsText());
79 under_paint_invalidations_json->PushObject( 78 under_paint_invalidations_json->PushObject(
80 std::move(under_paint_invalidation_json)); 79 std::move(under_paint_invalidation_json));
81 } 80 }
82 json->SetArray("underPaintInvalidations", 81 json->SetArray("underPaintInvalidations",
83 std::move(under_paint_invalidations_json)); 82 std::move(under_paint_invalidations_json));
84 } 83 }
85 } 84 }
86 85
87 } // namespace blink 86 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698