| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
|  | 2 // Use of this source code is governed by a BSD-style license that can be | 
|  | 3 // found in the LICENSE file. | 
|  | 4 | 
|  | 5 #include "views/debug_utils.h" | 
|  | 6 | 
|  | 7 #include "base/logging.h" | 
|  | 8 #include "base/utf_string_conversions.h" | 
|  | 9 #include "views/view.h" | 
|  | 10 | 
|  | 11 #ifndef NDEBUG | 
|  | 12 #include <iostream> | 
|  | 13 #endif | 
|  | 14 | 
|  | 15 namespace views { | 
|  | 16 | 
|  | 17 #ifndef NDEBUG | 
|  | 18 | 
|  | 19 namespace { | 
|  | 20 void PrintViewHierarchyImp(const View* view, int indent) { | 
|  | 21   std::wostringstream buf; | 
|  | 22   int ind = indent; | 
|  | 23   while (ind-- > 0) | 
|  | 24     buf << L' '; | 
|  | 25   buf << UTF8ToWide(view->GetClassName()); | 
|  | 26   buf << L' '; | 
|  | 27   buf << view->GetID(); | 
|  | 28   buf << L' '; | 
|  | 29   buf << view->x() << L"," << view->y() << L","; | 
|  | 30   buf << view->bounds().right() << L"," << view->bounds().bottom(); | 
|  | 31   buf << L' '; | 
|  | 32   buf << view; | 
|  | 33 | 
|  | 34   VLOG(1) << buf.str(); | 
|  | 35   std::cout << buf.str() << std::endl; | 
|  | 36 | 
|  | 37   for (size_t i = 0, count = view->child_count(); i < count; ++i) | 
|  | 38     PrintViewHierarchyImp(view->GetChildViewAt(i), indent + 2); | 
|  | 39 } | 
|  | 40 | 
|  | 41 void PrintFocusHierarchyImp(const View* view, int indent) { | 
|  | 42   std::wostringstream buf; | 
|  | 43   int ind = indent; | 
|  | 44   while (ind-- > 0) | 
|  | 45     buf << L' '; | 
|  | 46   buf << UTF8ToWide(view->GetClassName()); | 
|  | 47   buf << L' '; | 
|  | 48   buf << view->GetID(); | 
|  | 49   buf << L' '; | 
|  | 50   buf << view->GetClassName().c_str(); | 
|  | 51   buf << L' '; | 
|  | 52   buf << view; | 
|  | 53 | 
|  | 54   VLOG(1) << buf.str(); | 
|  | 55   std::cout << buf.str() << std::endl; | 
|  | 56 | 
|  | 57   if (view->child_count() > 0) | 
|  | 58     PrintFocusHierarchyImp(view->GetChildViewAt(0), indent + 2); | 
|  | 59 | 
|  | 60   const View* next_focusable = view->GetNextFocusableView(); | 
|  | 61   if (next_focusable) | 
|  | 62     PrintFocusHierarchyImp(next_focusable, indent); | 
|  | 63 } | 
|  | 64 }  // namespace | 
|  | 65 | 
|  | 66 void PrintViewHierarchy(const View* view) { | 
|  | 67   PrintViewHierarchyImp(view, 0); | 
|  | 68 } | 
|  | 69 | 
|  | 70 void PrintFocusHierarchy(const View* view) { | 
|  | 71   PrintFocusHierarchyImp(view, 0); | 
|  | 72 } | 
|  | 73 | 
|  | 74 }  // namespace views | 
|  | 75 | 
|  | 76 #endif  // NDEBUG | 
| OLD | NEW | 
|---|