cef/patch/patches/chrome_browser_profile_menu...

76 lines
4.0 KiB
Diff

diff --git chrome/browser/ui/bookmarks/bookmark_stats.cc chrome/browser/ui/bookmarks/bookmark_stats.cc
index 45f661faa6e0b..777a1f6c333b6 100644
--- chrome/browser/ui/bookmarks/bookmark_stats.cc
+++ chrome/browser/ui/bookmarks/bookmark_stats.cc
@@ -21,7 +21,9 @@ bool IsBookmarkBarLocation(BookmarkLaunchLocation location) {
auto GetMetricProfile(const Profile* profile) {
DCHECK(profile);
- DCHECK(profile->IsRegularProfile() || profile->IsIncognitoProfile());
+ DCHECK(profile->IsRegularProfile() || profile->IsIncognitoProfile() ||
+ (profile->IsOffTheRecord() &&
+ profile->GetOTRProfileID().IsUniqueForCEF()));
return profile->IsRegularProfile()
? profile_metrics::BrowserProfileType::kRegular
: profile_metrics::BrowserProfileType::kIncognito;
diff --git chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc
index 07edba472de67..2545b4926e66e 100644
--- chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc
+++ chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc
@@ -29,7 +29,9 @@ IncognitoClearBrowsingDataDialog::IncognitoClearBrowsingDataDialog(
dialog_type_(type),
incognito_profile_(incognito_profile) {
DCHECK(incognito_profile_);
- DCHECK(incognito_profile_->IsIncognitoProfile());
+ DCHECK(incognito_profile_->IsIncognitoProfile() ||
+ (incognito_profile_->IsOffTheRecord() &&
+ incognito_profile_->GetOTRProfileID().IsUniqueForCEF()));
SetButtons(ui::DIALOG_BUTTON_NONE);
SetShowCloseButton(true);
diff --git chrome/browser/ui/views/incognito_clear_browsing_data_dialog_coordinator.cc chrome/browser/ui/views/incognito_clear_browsing_data_dialog_coordinator.cc
index caa20ec03434a..2a3ca921445c1 100644
--- chrome/browser/ui/views/incognito_clear_browsing_data_dialog_coordinator.cc
+++ chrome/browser/ui/views/incognito_clear_browsing_data_dialog_coordinator.cc
@@ -26,6 +26,10 @@ void IncognitoClearBrowsingDataDialogCoordinator::Show(
->toolbar_button_provider()
->GetAvatarToolbarButton();
+ // The full toolbar may not be visible.
+ if (!avatar_toolbar_button)
+ return;
+
auto bubble = std::make_unique<IncognitoClearBrowsingDataDialog>(
avatar_toolbar_button, GetBrowser().profile(), type);
DCHECK_EQ(nullptr, bubble_tracker_.view());
diff --git chrome/browser/ui/views/profiles/incognito_menu_view.cc chrome/browser/ui/views/profiles/incognito_menu_view.cc
index 0d0b99bf57efa..2f8ba83a313ab 100644
--- chrome/browser/ui/views/profiles/incognito_menu_view.cc
+++ chrome/browser/ui/views/profiles/incognito_menu_view.cc
@@ -37,7 +37,9 @@
IncognitoMenuView::IncognitoMenuView(views::Button* anchor_button,
Browser* browser)
: ProfileMenuViewBase(anchor_button, browser) {
- DCHECK(browser->profile()->IsIncognitoProfile());
+ DCHECK(browser->profile()->IsIncognitoProfile() ||
+ (browser->profile()->IsOffTheRecord() &&
+ browser->profile()->GetOTRProfileID().IsUniqueForCEF()));
GetViewAccessibility().OverrideName(GetAccessibleWindowTitle());
base::RecordAction(base::UserMetricsAction("IncognitoMenu_Show"));
diff --git chrome/browser/ui/views/profiles/profile_menu_coordinator.cc chrome/browser/ui/views/profiles/profile_menu_coordinator.cc
index 413f221ac2553..4a066d59ed2f0 100644
--- chrome/browser/ui/views/profiles/profile_menu_coordinator.cc
+++ chrome/browser/ui/views/profiles/profile_menu_coordinator.cc
@@ -44,7 +44,9 @@ void ProfileMenuCoordinator::Show(bool is_source_accelerator) {
feature_engagement::kIPHProfileSwitchFeature);
std::unique_ptr<ProfileMenuViewBase> bubble;
- if (browser.profile()->IsIncognitoProfile()) {
+ if (browser.profile()->IsIncognitoProfile() ||
+ (browser.profile()->IsOffTheRecord() &&
+ browser.profile()->GetOTRProfileID().IsUniqueForCEF())) {
bubble =
std::make_unique<IncognitoMenuView>(avatar_toolbar_button, &browser);
} else {