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

Side by Side Diff: chrome/browser/ui/blocked_content/app_modal_dialog_helper.cc

Issue 1637943003: Remove HostDesktopType from BrowserList::GetInstance() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@screen-wrapper-land
Patch Set: mac2 Created 4 years, 11 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
« no previous file with comments | « chrome/browser/ui/ash/system_tray_delegate_chromeos.cc ('k') | chrome/browser/ui/browser.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/ui/blocked_content/app_modal_dialog_helper.h" 5 #include "chrome/browser/ui/blocked_content/app_modal_dialog_helper.h"
6 6
7 #include "chrome/browser/ui/browser.h" 7 #include "chrome/browser/ui/browser.h"
8 #include "chrome/browser/ui/browser_finder.h" 8 #include "chrome/browser/ui/browser_finder.h"
9 #include "chrome/browser/ui/browser_list.h" 9 #include "chrome/browser/ui/browser_list.h"
10 #include "chrome/browser/ui/tabs/tab_strip_model.h" 10 #include "chrome/browser/ui/tabs/tab_strip_model.h"
11 #include "content/public/browser/web_contents.h" 11 #include "content/public/browser/web_contents.h"
12 #include "content/public/browser/web_contents_delegate.h" 12 #include "content/public/browser/web_contents_delegate.h"
13 13
14 AppModalDialogHelper::AppModalDialogHelper(content::WebContents* dialog_host) 14 AppModalDialogHelper::AppModalDialogHelper(content::WebContents* dialog_host)
15 : popup_(nullptr) { 15 : popup_(nullptr) {
16 // If the WebContents that triggered this dialog is not currently focused, we 16 // If the WebContents that triggered this dialog is not currently focused, we
17 // want to store a potential popup here to restore it after the dialog was 17 // want to store a potential popup here to restore it after the dialog was
18 // closed. 18 // closed.
19 chrome::HostDesktopType desktop_type = 19 Browser* active_browser = BrowserList::GetInstance()->GetLastActive();
20 chrome::GetHostDesktopTypeForNativeView(dialog_host->GetNativeView());
21 Browser* active_browser =
22 BrowserList::GetInstance(desktop_type)->GetLastActive();
23 if (active_browser) { 20 if (active_browser) {
24 content::WebContents* active_web_contents = 21 content::WebContents* active_web_contents =
25 active_browser->tab_strip_model()->GetActiveWebContents(); 22 active_browser->tab_strip_model()->GetActiveWebContents();
26 if (active_browser->is_type_popup() && active_web_contents && 23 if (active_browser->is_type_popup() && active_web_contents &&
27 active_web_contents->GetOpener() == dialog_host) { 24 active_web_contents->GetOpener() == dialog_host) {
28 // It's indeed a popup from the dialog opening WebContents. Store it, so 25 // It's indeed a popup from the dialog opening WebContents. Store it, so
29 // we can focus it later. 26 // we can focus it later.
30 popup_ = active_web_contents; 27 popup_ = active_web_contents;
31 Observe(popup_); 28 Observe(popup_);
32 } 29 }
33 } 30 }
34 } 31 }
35 32
36 AppModalDialogHelper::~AppModalDialogHelper() { 33 AppModalDialogHelper::~AppModalDialogHelper() {
37 if (popup_) 34 if (popup_)
38 popup_->GetDelegate()->ActivateContents(popup_); 35 popup_->GetDelegate()->ActivateContents(popup_);
39 } 36 }
40 37
41 void AppModalDialogHelper::WebContentsDestroyed() { 38 void AppModalDialogHelper::WebContentsDestroyed() {
42 popup_ = nullptr; 39 popup_ = nullptr;
43 } 40 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/ash/system_tray_delegate_chromeos.cc ('k') | chrome/browser/ui/browser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698