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

Side by Side Diff: chrome/browser/renderer_context_menu/render_view_context_menu.cc

Issue 1659203002: Remove HostDesktopType from FindLastActive[WithProfile] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nullptr 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/renderer_context_menu/render_view_context_menu.h" 5 #include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <set> 10 #include <set>
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 canvas.DrawImageInt(*icon.ToImageSkia(), 0, 0); 418 canvas.DrawImageInt(*icon.ToImageSkia(), 0, 0);
419 419
420 gfx::CalculateFaviconTargetSize(&width, &height); 420 gfx::CalculateFaviconTargetSize(&width, &height);
421 gfx::Image sized_icon = profiles::GetSizedAvatarIcon( 421 gfx::Image sized_icon = profiles::GetSizedAvatarIcon(
422 gfx::Image(gfx::ImageSkia(canvas.ExtractImageRep())), true, width, 422 gfx::Image(gfx::ImageSkia(canvas.ExtractImageRep())), true, width,
423 height); 423 height);
424 menu->SetIcon(menu->GetItemCount() - 1, sized_icon); 424 menu->SetIcon(menu->GetItemCount() - 1, sized_icon);
425 } 425 }
426 #endif // !defined(OS_CHROMEOS) 426 #endif // !defined(OS_CHROMEOS)
427 427
428 void OnProfileCreated(chrome::HostDesktopType desktop_type, 428 void OnProfileCreated(const GURL& link_url,
429 const GURL& link_url,
430 const content::Referrer& referrer, 429 const content::Referrer& referrer,
431 Profile* profile, 430 Profile* profile,
432 Profile::CreateStatus status) { 431 Profile::CreateStatus status) {
433 if (status == Profile::CREATE_STATUS_INITIALIZED) { 432 if (status == Profile::CREATE_STATUS_INITIALIZED) {
434 Browser* browser = chrome::FindLastActiveWithProfile(profile, desktop_type); 433 Browser* browser = chrome::FindLastActiveWithProfile(profile);
435 chrome::NavigateParams nav_params(browser, link_url, 434 chrome::NavigateParams nav_params(browser, link_url,
436 ui::PAGE_TRANSITION_LINK); 435 ui::PAGE_TRANSITION_LINK);
437 nav_params.disposition = NEW_FOREGROUND_TAB; 436 nav_params.disposition = NEW_FOREGROUND_TAB;
438 nav_params.referrer = referrer; 437 nav_params.referrer = referrer;
439 nav_params.window_action = chrome::NavigateParams::SHOW_WINDOW; 438 nav_params.window_action = chrome::NavigateParams::SHOW_WINDOW;
440 chrome::Navigate(&nav_params); 439 chrome::Navigate(&nav_params);
441 } 440 }
442 } 441 }
443 442
444 } // namespace 443 } // namespace
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 // time. 890 // time.
892 // TODO(jochen): Consider adding support for ChromeOS with similar 891 // TODO(jochen): Consider adding support for ChromeOS with similar
893 // semantics as the profile switcher in the system tray. 892 // semantics as the profile switcher in the system tray.
894 #if !defined(OS_CHROMEOS) 893 #if !defined(OS_CHROMEOS)
895 // g_browser_process->profile_manager() is null during unit tests. 894 // g_browser_process->profile_manager() is null during unit tests.
896 if (g_browser_process->profile_manager() && 895 if (g_browser_process->profile_manager() &&
897 GetProfile()->GetProfileType() == Profile::REGULAR_PROFILE) { 896 GetProfile()->GetProfileType() == Profile::REGULAR_PROFILE) {
898 ProfileManager* profile_manager = g_browser_process->profile_manager(); 897 ProfileManager* profile_manager = g_browser_process->profile_manager();
899 const ProfileInfoCache& profile_info_cache = 898 const ProfileInfoCache& profile_info_cache =
900 profile_manager->GetProfileInfoCache(); 899 profile_manager->GetProfileInfoCache();
901 chrome::HostDesktopType desktop_type =
902 chrome::GetHostDesktopTypeForNativeView(
903 source_web_contents_->GetNativeView());
904 900
905 // Find all regular profiles other than the current one which have at 901 // Find all regular profiles other than the current one which have at
906 // least one open window. 902 // least one open window.
907 std::vector<size_t> target_profiles; 903 std::vector<size_t> target_profiles;
908 const size_t profile_count = profile_info_cache.GetNumberOfProfiles(); 904 const size_t profile_count = profile_info_cache.GetNumberOfProfiles();
909 for (size_t profile_index = 0; profile_index < profile_count; 905 for (size_t profile_index = 0; profile_index < profile_count;
910 ++profile_index) { 906 ++profile_index) {
911 base::FilePath profile_path = 907 base::FilePath profile_path =
912 profile_info_cache.GetPathOfProfileAtIndex(profile_index); 908 profile_info_cache.GetPathOfProfileAtIndex(profile_index);
913 Profile* profile = profile_manager->GetProfileByPath(profile_path); 909 Profile* profile = profile_manager->GetProfileByPath(profile_path);
914 if ((profile != GetProfile()) && 910 if ((profile != GetProfile()) &&
915 !profile_info_cache.IsOmittedProfileAtIndex(profile_index) && 911 !profile_info_cache.IsOmittedProfileAtIndex(profile_index) &&
916 !profile_info_cache.ProfileIsSigninRequiredAtIndex(profile_index)) { 912 !profile_info_cache.ProfileIsSigninRequiredAtIndex(profile_index)) {
917 target_profiles.push_back(profile_index); 913 target_profiles.push_back(profile_index);
918 if (chrome::FindLastActiveWithProfile(profile, desktop_type)) 914 if (chrome::FindLastActiveWithProfile(profile))
919 multiple_profiles_open_ = true; 915 multiple_profiles_open_ = true;
920 } 916 }
921 } 917 }
922 918
923 if (!target_profiles.empty()) { 919 if (!target_profiles.empty()) {
924 UMA_HISTOGRAM_ENUMERATION("RenderViewContextMenu.OpenLinkAsUserShown", 920 UMA_HISTOGRAM_ENUMERATION("RenderViewContextMenu.OpenLinkAsUserShown",
925 target_profiles.size(), 921 target_profiles.size(),
926 kOpenLinkAsUserMaxProfilesReported); 922 kOpenLinkAsUserMaxProfilesReported);
927 } 923 }
928 924
(...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after
1661 profile_manager->GetProfileInfoCache(); 1657 profile_manager->GetProfileInfoCache();
1662 1658
1663 base::FilePath profile_path = profile_info_cache.GetPathOfProfileAtIndex( 1659 base::FilePath profile_path = profile_info_cache.GetPathOfProfileAtIndex(
1664 id - IDC_OPEN_LINK_IN_PROFILE_FIRST); 1660 id - IDC_OPEN_LINK_IN_PROFILE_FIRST);
1665 chrome::HostDesktopType desktop_type = 1661 chrome::HostDesktopType desktop_type =
1666 chrome::GetHostDesktopTypeForNativeView( 1662 chrome::GetHostDesktopTypeForNativeView(
1667 source_web_contents_->GetNativeView()); 1663 source_web_contents_->GetNativeView());
1668 1664
1669 Profile* profile = profile_manager->GetProfileByPath(profile_path); 1665 Profile* profile = profile_manager->GetProfileByPath(profile_path);
1670 UmaEnumOpenLinkAsUser profile_state; 1666 UmaEnumOpenLinkAsUser profile_state;
1671 if (chrome::FindLastActiveWithProfile(profile, desktop_type)) { 1667 if (chrome::FindLastActiveWithProfile(profile)) {
1672 profile_state = OPEN_LINK_AS_USER_ACTIVE_PROFILE_ENUM_ID; 1668 profile_state = OPEN_LINK_AS_USER_ACTIVE_PROFILE_ENUM_ID;
1673 } else if (multiple_profiles_open_) { 1669 } else if (multiple_profiles_open_) {
1674 profile_state = 1670 profile_state =
1675 OPEN_LINK_AS_USER_INACTIVE_PROFILE_MULTI_PROFILE_SESSION_ENUM_ID; 1671 OPEN_LINK_AS_USER_INACTIVE_PROFILE_MULTI_PROFILE_SESSION_ENUM_ID;
1676 } else { 1672 } else {
1677 profile_state = 1673 profile_state =
1678 OPEN_LINK_AS_USER_INACTIVE_PROFILE_SINGLE_PROFILE_SESSION_ENUM_ID; 1674 OPEN_LINK_AS_USER_INACTIVE_PROFILE_SINGLE_PROFILE_SESSION_ENUM_ID;
1679 } 1675 }
1680 UMA_HISTOGRAM_ENUMERATION("RenderViewContextMenu.OpenLinkAsUser", 1676 UMA_HISTOGRAM_ENUMERATION("RenderViewContextMenu.OpenLinkAsUser",
1681 profile_state, OPEN_LINK_AS_USER_LAST_ENUM_ID); 1677 profile_state, OPEN_LINK_AS_USER_LAST_ENUM_ID);
1682 1678
1683 profiles::SwitchToProfile( 1679 profiles::SwitchToProfile(
1684 profile_path, desktop_type, false, 1680 profile_path, desktop_type, false,
1685 base::Bind(OnProfileCreated, desktop_type, params_.link_url, 1681 base::Bind(OnProfileCreated, params_.link_url,
1686 CreateReferrer(params_.link_url, params_)), 1682 CreateReferrer(params_.link_url, params_)),
1687 ProfileMetrics::SWITCH_PROFILE_CONTEXT_MENU); 1683 ProfileMetrics::SWITCH_PROFILE_CONTEXT_MENU);
1688 return; 1684 return;
1689 } 1685 }
1690 1686
1691 switch (id) { 1687 switch (id) {
1692 case IDC_CONTENT_CONTEXT_OPENLINKNEWTAB: { 1688 case IDC_CONTENT_CONTEXT_OPENLINKNEWTAB: {
1693 Browser* browser = 1689 Browser* browser =
1694 chrome::FindBrowserWithWebContents(source_web_contents_); 1690 chrome::FindBrowserWithWebContents(source_web_contents_);
1695 OpenURL(params_.link_url, 1691 OpenURL(params_.link_url,
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after
2183 source_web_contents_->GetRenderViewHost()-> 2179 source_web_contents_->GetRenderViewHost()->
2184 ExecuteMediaPlayerActionAtLocation(location, action); 2180 ExecuteMediaPlayerActionAtLocation(location, action);
2185 } 2181 }
2186 2182
2187 void RenderViewContextMenu::PluginActionAt( 2183 void RenderViewContextMenu::PluginActionAt(
2188 const gfx::Point& location, 2184 const gfx::Point& location,
2189 const WebPluginAction& action) { 2185 const WebPluginAction& action) {
2190 source_web_contents_->GetRenderViewHost()-> 2186 source_web_contents_->GetRenderViewHost()->
2191 ExecutePluginActionAtLocation(location, action); 2187 ExecutePluginActionAtLocation(location, action);
2192 } 2188 }
OLDNEW
« no previous file with comments | « chrome/browser/printing/print_error_dialog.cc ('k') | chrome/browser/safe_browsing/srt_fetcher_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698