| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "cc/resources/managed_tile_state.h" | 5 #include "cc/resources/managed_tile_state.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/debug/trace_event_argument.h" | 10 #include "base/debug/trace_event_argument.h" |
| 11 #include "cc/base/math_util.h" | 11 #include "cc/base/math_util.h" |
| 12 | 12 |
| 13 namespace cc { | 13 namespace cc { |
| 14 | 14 |
| 15 std::string ManagedTileBinToString(ManagedTileBin bin) { | |
| 16 switch (bin) { | |
| 17 case NOW_AND_READY_TO_DRAW_BIN: | |
| 18 return "NOW_AND_READY_TO_DRAW_BIN"; | |
| 19 case NOW_BIN: | |
| 20 return "NOW_BIN"; | |
| 21 case SOON_BIN: | |
| 22 return "SOON_BIN"; | |
| 23 case EVENTUALLY_AND_ACTIVE_BIN: | |
| 24 return "EVENTUALLY_AND_ACTIVE_BIN"; | |
| 25 case EVENTUALLY_BIN: | |
| 26 return "EVENTUALLY_BIN"; | |
| 27 case AT_LAST_AND_ACTIVE_BIN: | |
| 28 return "AT_LAST_AND_ACTIVE_BIN"; | |
| 29 case AT_LAST_BIN: | |
| 30 return "AT_LAST_BIN"; | |
| 31 case NEVER_BIN: | |
| 32 return "NEVER_BIN"; | |
| 33 case NUM_BINS: | |
| 34 NOTREACHED(); | |
| 35 return "Invalid Bin (NUM_BINS)"; | |
| 36 } | |
| 37 return "Invalid Bin (UNKNOWN)"; | |
| 38 } | |
| 39 | |
| 40 ManagedTileState::ManagedTileState() | 15 ManagedTileState::ManagedTileState() |
| 41 : bin(NEVER_BIN), | 16 : resolution(NON_IDEAL_RESOLUTION), |
| 42 resolution(NON_IDEAL_RESOLUTION), | |
| 43 required_for_activation(false), | |
| 44 priority_bin(TilePriority::EVENTUALLY), | 17 priority_bin(TilePriority::EVENTUALLY), |
| 45 distance_to_visible(std::numeric_limits<float>::infinity()), | |
| 46 visible_and_ready_to_draw(false), | |
| 47 scheduled_priority(0) { | 18 scheduled_priority(0) { |
| 48 } | 19 } |
| 49 | 20 |
| 50 ManagedTileState::DrawInfo::DrawInfo() | 21 ManagedTileState::DrawInfo::DrawInfo() |
| 51 : mode_(RESOURCE_MODE), solid_color_(SK_ColorWHITE) { | 22 : mode_(RESOURCE_MODE), solid_color_(SK_ColorWHITE) { |
| 52 } | 23 } |
| 53 | 24 |
| 54 ManagedTileState::DrawInfo::~DrawInfo() { | 25 ManagedTileState::DrawInfo::~DrawInfo() { |
| 55 DCHECK(!resource_); | 26 DCHECK(!resource_); |
| 56 } | 27 } |
| (...skipping 13 matching lines...) Expand all Loading... |
| 70 ManagedTileState::~ManagedTileState() {} | 41 ManagedTileState::~ManagedTileState() {} |
| 71 | 42 |
| 72 void ManagedTileState::AsValueInto(base::debug::TracedValue* state) const { | 43 void ManagedTileState::AsValueInto(base::debug::TracedValue* state) const { |
| 73 bool has_resource = (draw_info.resource_.get() != 0); | 44 bool has_resource = (draw_info.resource_.get() != 0); |
| 74 bool has_active_task = (raster_task.get() != 0); | 45 bool has_active_task = (raster_task.get() != 0); |
| 75 | 46 |
| 76 bool is_using_gpu_memory = has_resource || has_active_task; | 47 bool is_using_gpu_memory = has_resource || has_active_task; |
| 77 | 48 |
| 78 state->SetBoolean("has_resource", has_resource); | 49 state->SetBoolean("has_resource", has_resource); |
| 79 state->SetBoolean("is_using_gpu_memory", is_using_gpu_memory); | 50 state->SetBoolean("is_using_gpu_memory", is_using_gpu_memory); |
| 80 state->SetString("bin", ManagedTileBinToString(bin)); | |
| 81 state->SetString("resolution", TileResolutionToString(resolution)); | 51 state->SetString("resolution", TileResolutionToString(resolution)); |
| 82 state->SetString("priority_bin", TilePriorityBinToString(priority_bin)); | 52 state->SetString("priority_bin", TilePriorityBinToString(priority_bin)); |
| 83 state->SetDouble("distance_to_visible", | |
| 84 MathUtil::AsFloatSafely(distance_to_visible)); | |
| 85 state->SetBoolean("required_for_activation", required_for_activation); | |
| 86 state->SetBoolean("is_solid_color", | 53 state->SetBoolean("is_solid_color", |
| 87 draw_info.mode_ == DrawInfo::SOLID_COLOR_MODE); | 54 draw_info.mode_ == DrawInfo::SOLID_COLOR_MODE); |
| 88 state->SetBoolean("is_transparent", | 55 state->SetBoolean("is_transparent", |
| 89 draw_info.mode_ == DrawInfo::SOLID_COLOR_MODE && | 56 draw_info.mode_ == DrawInfo::SOLID_COLOR_MODE && |
| 90 !SkColorGetA(draw_info.solid_color_)); | 57 !SkColorGetA(draw_info.solid_color_)); |
| 91 state->SetInteger("scheduled_priority", scheduled_priority); | 58 state->SetInteger("scheduled_priority", scheduled_priority); |
| 92 } | 59 } |
| 93 | 60 |
| 94 } // namespace cc | 61 } // namespace cc |
| OLD | NEW |