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

Side by Side Diff: chrome/browser/ui/views/sad_tab_view.cc

Issue 1188823002: [MemoryPressure] Move chrome/browser/chromeos/* to chrome/browser/memory/*. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed sky@ comments. Created 5 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/ui/views/sad_tab_view.h" 5 #include "chrome/browser/ui/views/sad_tab_view.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/metrics/field_trial.h" 9 #include "base/metrics/field_trial.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 16 matching lines...) Expand all
27 #include "ui/views/controls/button/label_button_border.h" 27 #include "ui/views/controls/button/label_button_border.h"
28 #include "ui/views/controls/image_view.h" 28 #include "ui/views/controls/image_view.h"
29 #include "ui/views/controls/label.h" 29 #include "ui/views/controls/label.h"
30 #include "ui/views/controls/link.h" 30 #include "ui/views/controls/link.h"
31 #include "ui/views/controls/styled_label.h" 31 #include "ui/views/controls/styled_label.h"
32 #include "ui/views/layout/grid_layout.h" 32 #include "ui/views/layout/grid_layout.h"
33 #include "ui/views/layout/layout_constants.h" 33 #include "ui/views/layout/layout_constants.h"
34 #include "ui/views/widget/widget.h" 34 #include "ui/views/widget/widget.h"
35 35
36 #if defined(OS_CHROMEOS) 36 #if defined(OS_CHROMEOS)
37 #include "chrome/browser/chromeos/memory/oom_memory_details.h" 37 #include "chrome/browser/memory/oom_memory_details.h"
38 #endif 38 #endif
39 39
40 using content::OpenURLParams; 40 using content::OpenURLParams;
41 using content::WebContents; 41 using content::WebContents;
42 42
43 namespace { 43 namespace {
44 44
45 const int kMaxContentWidth = 600; 45 const int kMaxContentWidth = 600;
46 const int kMinColumnWidth = 120; 46 const int kMinColumnWidth = 120;
47 const char kCategoryTagCrash[] = "Crash"; 47 const char kCategoryTagCrash[] = "Crash";
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 painted_(false), 84 painted_(false),
85 message_(nullptr), 85 message_(nullptr),
86 help_link_(nullptr), 86 help_link_(nullptr),
87 feedback_link_(nullptr), 87 feedback_link_(nullptr),
88 reload_button_(nullptr), 88 reload_button_(nullptr),
89 title_(nullptr), 89 title_(nullptr),
90 help_message_(nullptr) { 90 help_message_(nullptr) {
91 DCHECK(web_contents); 91 DCHECK(web_contents);
92 92
93 // These stats should use the same counting approach and bucket size used for 93 // These stats should use the same counting approach and bucket size used for
94 // tab discard events in chromeos::OomPriorityManager so they can be 94 // tab discard events in memory::OomPriorityManager so they can be directly
95 // directly compared. 95 // compared.
96 // TODO(jamescook): Maybe track time between sad tabs? 96 // TODO(jamescook): Maybe track time between sad tabs?
97 switch (kind_) { 97 switch (kind_) {
98 case chrome::SAD_TAB_KIND_CRASHED: { 98 case chrome::SAD_TAB_KIND_CRASHED: {
99 static int crashed = 0; 99 static int crashed = 0;
100 crashed++; 100 crashed++;
101 UMA_HISTOGRAM_CUSTOM_COUNTS( 101 UMA_HISTOGRAM_CUSTOM_COUNTS(
102 "Tabs.SadTab.CrashCreated", crashed, 1, 1000, 50); 102 "Tabs.SadTab.CrashCreated", crashed, 1, 1000, 50);
103 break; 103 break;
104 } 104 }
105 case chrome::SAD_TAB_KIND_KILLED: { 105 case chrome::SAD_TAB_KIND_KILLED: {
106 RecordKillCreated(); 106 RecordKillCreated();
107 LOG(WARNING) << "Tab Killed: " 107 LOG(WARNING) << "Tab Killed: "
108 << web_contents->GetURL().GetOrigin().spec(); 108 << web_contents->GetURL().GetOrigin().spec();
109 break; 109 break;
110 } 110 }
111 #if defined(OS_CHROMEOS) 111 #if defined(OS_CHROMEOS)
112 case chrome::SAD_TAB_KIND_KILLED_BY_OOM: { 112 case chrome::SAD_TAB_KIND_KILLED_BY_OOM: {
113 RecordKillCreated(); 113 RecordKillCreated();
114 RecordKillCreatedOOM(); 114 RecordKillCreatedOOM();
115 const std::string spec = web_contents->GetURL().GetOrigin().spec(); 115 const std::string spec = web_contents->GetURL().GetOrigin().spec();
116 chromeos::OomMemoryDetails::Log( 116 memory::OomMemoryDetails::Log(
117 "Tab OOM-Killed Memory details: " + spec + ", ", 117 "Tab OOM-Killed Memory details: " + spec + ", ", base::Closure());
118 base::Closure());
119 break; 118 break;
120 } 119 }
121 #endif 120 #endif
122 } 121 }
123 122
124 // Set the background color. 123 // Set the background color.
125 set_background( 124 set_background(
126 views::Background::CreateSolidBackground(GetNativeTheme()->GetSystemColor( 125 views::Background::CreateSolidBackground(GetNativeTheme()->GetSystemColor(
127 ui::NativeTheme::kColorId_DialogBackground))); 126 ui::NativeTheme::kColorId_DialogBackground)));
128 127
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 289
291 if (help_message_ != nullptr) 290 if (help_message_ != nullptr)
292 help_message_->SizeToFit(max_width); 291 help_message_->SizeToFit(max_width);
293 292
294 View::Layout(); 293 View::Layout();
295 } 294 }
296 295
297 void SadTabView::OnPaint(gfx::Canvas* canvas) { 296 void SadTabView::OnPaint(gfx::Canvas* canvas) {
298 if (!painted_) { 297 if (!painted_) {
299 // These stats should use the same counting approach and bucket size used 298 // These stats should use the same counting approach and bucket size used
300 // for tab discard events in chromeos::OomPriorityManager so they 299 // for tab discard events in memory::OomPriorityManager so they can be
301 // can be directly compared. 300 // directly compared.
302 switch (kind_) { 301 switch (kind_) {
303 case chrome::SAD_TAB_KIND_CRASHED: { 302 case chrome::SAD_TAB_KIND_CRASHED: {
304 static int crashed = 0; 303 static int crashed = 0;
305 UMA_HISTOGRAM_CUSTOM_COUNTS( 304 UMA_HISTOGRAM_CUSTOM_COUNTS(
306 "Tabs.SadTab.CrashDisplayed", ++crashed, 1, 1000, 50); 305 "Tabs.SadTab.CrashDisplayed", ++crashed, 1, 1000, 50);
307 break; 306 break;
308 } 307 }
309 case chrome::SAD_TAB_KIND_KILLED: 308 case chrome::SAD_TAB_KIND_KILLED:
310 RecordKillDisplayed(); 309 RecordKillDisplayed();
311 break; 310 break;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 } 362 }
364 363
365 namespace chrome { 364 namespace chrome {
366 365
367 SadTab* SadTab::Create(content::WebContents* web_contents, 366 SadTab* SadTab::Create(content::WebContents* web_contents,
368 SadTabKind kind) { 367 SadTabKind kind) {
369 return new SadTabView(web_contents, kind); 368 return new SadTabView(web_contents, kind);
370 } 369 }
371 370
372 } // namespace chrome 371 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/browser/metrics/chrome_stability_metrics_provider.cc ('k') | chrome/browser/ui/webui/about_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698