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

Side by Side Diff: chrome/browser/metrics_service.cc

Issue 1912: Renames BoomarkBarModel to BookmarkModel. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 5
6 6
7 //------------------------------------------------------------------------------ 7 //------------------------------------------------------------------------------
8 // Description of the life cycle of a instance of MetricsService. 8 // Description of the life cycle of a instance of MetricsService.
9 // 9 //
10 // OVERVIEW 10 // OVERVIEW
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 //------------------------------------------------------------------------------ 155 //------------------------------------------------------------------------------
156 156
157 #include <windows.h> 157 #include <windows.h>
158 158
159 #include "chrome/browser/metrics_service.h" 159 #include "chrome/browser/metrics_service.h"
160 160
161 #include "base/histogram.h" 161 #include "base/histogram.h"
162 #include "base/path_service.h" 162 #include "base/path_service.h"
163 #include "base/string_util.h" 163 #include "base/string_util.h"
164 #include "base/task.h" 164 #include "base/task.h"
165 #include "chrome/browser/bookmarks/bookmark_bar_model.h" 165 #include "chrome/browser/bookmarks/bookmark_model.h"
166 #include "chrome/browser/browser.h" 166 #include "chrome/browser/browser.h"
167 #include "chrome/browser/browser_list.h" 167 #include "chrome/browser/browser_list.h"
168 #include "chrome/browser/browser_process.h" 168 #include "chrome/browser/browser_process.h"
169 #include "chrome/browser/load_notification_details.h" 169 #include "chrome/browser/load_notification_details.h"
170 #include "chrome/browser/memory_details.h" 170 #include "chrome/browser/memory_details.h"
171 #include "chrome/browser/plugin_process_info.h" 171 #include "chrome/browser/plugin_process_info.h"
172 #include "chrome/browser/plugin_service.h" 172 #include "chrome/browser/plugin_service.h"
173 #include "chrome/browser/profile.h" 173 #include "chrome/browser/profile.h"
174 #include "chrome/browser/render_process_host.h" 174 #include "chrome/browser/render_process_host.h"
175 #include "chrome/browser/template_url.h" 175 #include "chrome/browser/template_url.h"
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 case TEMPLATE_URL_MODEL_LOADED: 445 case TEMPLATE_URL_MODEL_LOADED:
446 LogKeywords(Source<TemplateURLModel>(source).ptr()); 446 LogKeywords(Source<TemplateURLModel>(source).ptr());
447 break; 447 break;
448 448
449 case NOTIFY_OMNIBOX_OPENED_URL: 449 case NOTIFY_OMNIBOX_OPENED_URL:
450 current_log_->RecordOmniboxOpenedURL( 450 current_log_->RecordOmniboxOpenedURL(
451 *Details<AutocompleteLog>(details).ptr()); 451 *Details<AutocompleteLog>(details).ptr());
452 break; 452 break;
453 453
454 case NOTIFY_BOOKMARK_MODEL_LOADED: 454 case NOTIFY_BOOKMARK_MODEL_LOADED:
455 LogBookmarks(Source<Profile>(source)->GetBookmarkBarModel()); 455 LogBookmarks(Source<Profile>(source)->GetBookmarkModel());
456 break; 456 break;
457 457
458 default: 458 default:
459 NOTREACHED(); 459 NOTREACHED();
460 break; 460 break;
461 } 461 }
462 StartLogTransmissionTimer(); 462 StartLogTransmissionTimer();
463 } 463 }
464 464
465 void MetricsService::RecordCleanShutdown() { 465 void MetricsService::RecordCleanShutdown() {
(...skipping 828 matching lines...) Expand 10 before | Expand all | Expand 10 after
1294 stats.process_crashes++; 1294 stats.process_crashes++;
1295 break; 1295 break;
1296 1296
1297 default: 1297 default:
1298 NOTREACHED() << "Unexpected notification type " << type; 1298 NOTREACHED() << "Unexpected notification type " << type;
1299 return; 1299 return;
1300 } 1300 }
1301 } 1301 }
1302 1302
1303 // Recursively counts the number of bookmarks and folders in node. 1303 // Recursively counts the number of bookmarks and folders in node.
1304 static void CountBookmarks(BookmarkBarNode* node, 1304 static void CountBookmarks(BookmarkNode* node, int* bookmarks, int* folders) {
1305 int* bookmarks,
1306 int* folders) {
1307 if (node->GetType() == history::StarredEntry::URL) 1305 if (node->GetType() == history::StarredEntry::URL)
1308 (*bookmarks)++; 1306 (*bookmarks)++;
1309 else 1307 else
1310 (*folders)++; 1308 (*folders)++;
1311 for (int i = 0; i < node->GetChildCount(); ++i) 1309 for (int i = 0; i < node->GetChildCount(); ++i)
1312 CountBookmarks(node->GetChild(i), bookmarks, folders); 1310 CountBookmarks(node->GetChild(i), bookmarks, folders);
1313 } 1311 }
1314 1312
1315 void MetricsService::LogBookmarks(BookmarkBarNode* node, 1313 void MetricsService::LogBookmarks(BookmarkNode* node,
1316 const wchar_t* num_bookmarks_key, 1314 const wchar_t* num_bookmarks_key,
1317 const wchar_t* num_folders_key) { 1315 const wchar_t* num_folders_key) {
1318 DCHECK(node); 1316 DCHECK(node);
1319 int num_bookmarks = 0; 1317 int num_bookmarks = 0;
1320 int num_folders = 0; 1318 int num_folders = 0;
1321 CountBookmarks(node, &num_bookmarks, &num_folders); 1319 CountBookmarks(node, &num_bookmarks, &num_folders);
1322 num_folders--; // Don't include the root folder in the count. 1320 num_folders--; // Don't include the root folder in the count.
1323 1321
1324 PrefService* pref = g_browser_process->local_state(); 1322 PrefService* pref = g_browser_process->local_state();
1325 DCHECK(pref); 1323 DCHECK(pref);
1326 pref->SetInteger(num_bookmarks_key, num_bookmarks); 1324 pref->SetInteger(num_bookmarks_key, num_bookmarks);
1327 pref->SetInteger(num_folders_key, num_folders); 1325 pref->SetInteger(num_folders_key, num_folders);
1328 } 1326 }
1329 1327
1330 void MetricsService::LogBookmarks(BookmarkBarModel* model) { 1328 void MetricsService::LogBookmarks(BookmarkModel* model) {
1331 DCHECK(model); 1329 DCHECK(model);
1332 LogBookmarks(model->GetBookmarkBarNode(), 1330 LogBookmarks(model->GetBookmarkBarNode(),
1333 prefs::kNumBookmarksOnBookmarkBar, 1331 prefs::kNumBookmarksOnBookmarkBar,
1334 prefs::kNumFoldersOnBookmarkBar); 1332 prefs::kNumFoldersOnBookmarkBar);
1335 LogBookmarks(model->other_node(), 1333 LogBookmarks(model->other_node(),
1336 prefs::kNumBookmarksInOtherBookmarkFolder, 1334 prefs::kNumBookmarksInOtherBookmarkFolder,
1337 prefs::kNumFoldersInOtherBookmarkFolder); 1335 prefs::kNumFoldersInOtherBookmarkFolder);
1338 ScheduleNextStateSave(); 1336 ScheduleNextStateSave();
1339 } 1337 }
1340 1338
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1507 prof_prefs->SetInteger(pref_key.c_str(), value); 1505 prof_prefs->SetInteger(pref_key.c_str(), value);
1508 } 1506 }
1509 1507
1510 static bool IsSingleThreaded() { 1508 static bool IsSingleThreaded() {
1511 static int thread_id = 0; 1509 static int thread_id = 0;
1512 if (!thread_id) 1510 if (!thread_id)
1513 thread_id = GetCurrentThreadId(); 1511 thread_id = GetCurrentThreadId();
1514 return GetCurrentThreadId() == thread_id; 1512 return GetCurrentThreadId() == thread_id;
1515 } 1513 }
1516 1514
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698