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

Side by Side Diff: chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc

Issue 1697183003: Remove HostDesktopType from sessions and tab restore (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@metro-mode-19
Patch Set: mac Created 4 years, 10 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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/toolbar/recent_tabs_sub_menu_model.h" 5 #include "chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 int tab_items_idx = CommandIdToTabVectorIndex(command_id, &tab_items); 302 int tab_items_idx = CommandIdToTabVectorIndex(command_id, &tab_items);
303 const TabNavigationItem& item = (*tab_items)[tab_items_idx]; 303 const TabNavigationItem& item = (*tab_items)[tab_items_idx];
304 DCHECK(item.tab_id > -1 && item.url.is_valid()); 304 DCHECK(item.tab_id > -1 && item.url.is_valid());
305 305
306 if (item.session_tag.empty()) { // Restore tab of local session. 306 if (item.session_tag.empty()) { // Restore tab of local session.
307 if (service && context) { 307 if (service && context) {
308 content::RecordAction( 308 content::RecordAction(
309 base::UserMetricsAction("WrenchMenu_OpenRecentTabFromLocal")); 309 base::UserMetricsAction("WrenchMenu_OpenRecentTabFromLocal"));
310 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.RecentTabsSubMenu", 310 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.RecentTabsSubMenu",
311 LOCAL_SESSION_TAB, LIMIT_RECENT_TAB_ACTION); 311 LOCAL_SESSION_TAB, LIMIT_RECENT_TAB_ACTION);
312 service->RestoreEntryById(context, item.tab_id, 312 service->RestoreEntryById(context, item.tab_id, disposition);
313 browser_->host_desktop_type(), disposition);
314 } 313 }
315 } else { // Restore tab of session from other devices. 314 } else { // Restore tab of session from other devices.
316 sync_driver::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate(); 315 sync_driver::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate();
317 if (!open_tabs) 316 if (!open_tabs)
318 return; 317 return;
319 const sessions::SessionTab* tab; 318 const sessions::SessionTab* tab;
320 if (!open_tabs->GetForeignTab(item.session_tag, item.tab_id, &tab)) 319 if (!open_tabs->GetForeignTab(item.session_tag, item.tab_id, &tab))
321 return; 320 return;
322 if (tab->navigations.empty()) 321 if (tab->navigations.empty())
323 return; 322 return;
324 content::RecordAction( 323 content::RecordAction(
325 base::UserMetricsAction("WrenchMenu_OpenRecentTabFromDevice")); 324 base::UserMetricsAction("WrenchMenu_OpenRecentTabFromDevice"));
326 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.RecentTabsSubMenu", 325 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.RecentTabsSubMenu",
327 OTHER_DEVICE_TAB, LIMIT_RECENT_TAB_ACTION); 326 OTHER_DEVICE_TAB, LIMIT_RECENT_TAB_ACTION);
328 SessionRestore::RestoreForeignSessionTab( 327 SessionRestore::RestoreForeignSessionTab(
329 browser_->tab_strip_model()->GetActiveWebContents(), 328 browser_->tab_strip_model()->GetActiveWebContents(),
330 *tab, disposition); 329 *tab, disposition);
331 } 330 }
332 } else { 331 } else {
333 DCHECK(IsWindowModelCommandId(command_id)); 332 DCHECK(IsWindowModelCommandId(command_id));
334 if (service && context) { 333 if (service && context) {
335 int window_items_idx = CommandIdToWindowVectorIndex(command_id); 334 int window_items_idx = CommandIdToWindowVectorIndex(command_id);
336 DCHECK(window_items_idx >= 0 && 335 DCHECK(window_items_idx >= 0 &&
337 window_items_idx < static_cast<int>(local_window_items_.size())); 336 window_items_idx < static_cast<int>(local_window_items_.size()));
338 content::RecordAction( 337 content::RecordAction(
339 base::UserMetricsAction("WrenchMenu_OpenRecentWindow")); 338 base::UserMetricsAction("WrenchMenu_OpenRecentWindow"));
340 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.RecentTabsSubMenu", RESTORE_WINDOW, 339 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.RecentTabsSubMenu", RESTORE_WINDOW,
341 LIMIT_RECENT_TAB_ACTION); 340 LIMIT_RECENT_TAB_ACTION);
342 service->RestoreEntryById(context, local_window_items_[window_items_idx], 341 service->RestoreEntryById(context, local_window_items_[window_items_idx],
343 browser_->host_desktop_type(), disposition); 342 disposition);
344 } 343 }
345 } 344 }
346 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.OpenRecentTab", 345 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.OpenRecentTab",
347 menu_opened_timer_.Elapsed()); 346 menu_opened_timer_.Elapsed());
348 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_RECENT_TAB, 347 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_RECENT_TAB,
349 LIMIT_MENU_ACTION); 348 LIMIT_MENU_ACTION);
350 } 349 }
351 350
352 int RecentTabsSubMenuModel::GetFirstRecentTabsCommandId() { 351 int RecentTabsSubMenuModel::GetFirstRecentTabsCommandId() {
353 return WindowVectorIndexToCommandId(0); 352 return WindowVectorIndexToCommandId(0);
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
722 721
723 ui::MenuModelDelegate* menu_model_delegate = GetMenuModelDelegate(); 722 ui::MenuModelDelegate* menu_model_delegate = GetMenuModelDelegate();
724 if (menu_model_delegate) 723 if (menu_model_delegate)
725 menu_model_delegate->OnMenuStructureChanged(); 724 menu_model_delegate->OnMenuStructureChanged();
726 } 725 }
727 726
728 void RecentTabsSubMenuModel::TabRestoreServiceDestroyed( 727 void RecentTabsSubMenuModel::TabRestoreServiceDestroyed(
729 sessions::TabRestoreService* service) { 728 sessions::TabRestoreService* service) {
730 TabRestoreServiceChanged(service); 729 TabRestoreServiceChanged(service);
731 } 730 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/history_menu_cocoa_controller.mm ('k') | chrome/browser/ui/views/frame/global_menu_bar_x11.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698