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

Unified Diff: chrome/browser/ui/views/select_file_dialog_extension.cc

Issue 11222003: Remove TabContents creation from ShellWindow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: const fix Created 8 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/select_file_dialog_extension.cc
diff --git a/chrome/browser/ui/views/select_file_dialog_extension.cc b/chrome/browser/ui/views/select_file_dialog_extension.cc
index a696d2ac942b2c8ee1f6e9083086994e1c4071a2..8401708f265e605276e4708fed383e65e9518fed 100644
--- a/chrome/browser/ui/views/select_file_dialog_extension.cc
+++ b/chrome/browser/ui/views/select_file_dialog_extension.cc
@@ -27,7 +27,6 @@
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/chrome_select_file_policy.h"
#include "chrome/browser/ui/extensions/shell_window.h"
-#include "chrome/browser/ui/tab_contents/tab_contents.h"
#include "chrome/browser/ui/views/extensions/extension_dialog.h"
#include "content/public/browser/browser_thread.h"
#include "ui/base/dialogs/selected_file_info.h"
@@ -256,19 +255,19 @@ void SelectFileDialogExtension::SelectFileImpl(
// The base window to associate the dialog with.
BaseWindow* base_window = NULL;
- // The tab contents to associate the dialog with.
- const TabContents* tab = NULL;
+ // The web contents to associate the dialog with.
+ content::WebContents* web_contents = NULL;
// First try to find a Browser using the supplied owner_window. If no owner
// window has been supplied, this is running from a background page and should
// be associated with the last active browser.
- Browser* owner_browser = (owner_window ?
+ Browser* owner_browser = owner_window ?
browser::FindBrowserWithWindow(owner_window) :
- BrowserList::GetLastActive());
+ BrowserList::GetLastActive();
if (owner_browser) {
base_window = owner_browser->window();
- tab = chrome::GetActiveTabContents(owner_browser);
- profile_ = tab->profile();
+ web_contents = chrome::GetActiveWebContents(owner_browser);
+ profile_ = Profile::FromBrowserContext(web_contents->GetBrowserContext());
} else if (owner_window) {
// If an owner_window was supplied but we couldn't find a browser, this
// could be for a shell window.
@@ -285,7 +284,7 @@ void SelectFileDialogExtension::SelectFileImpl(
owner_window);
if (shell_window) {
base_window = shell_window->GetBaseWindow();
- tab = shell_window->tab_contents();
+ web_contents = shell_window->web_contents();
profile_ = *i;
break;
}
@@ -298,13 +297,11 @@ void SelectFileDialogExtension::SelectFileImpl(
}
DCHECK(profile_);
- // Check if we have another dialog opened in the tab. It's unlikely, but
- // possible. If there is no tab contents use a tab_id of 0. A dialog without
- // an associated tab contents will be shown fully screen; only one at a time
+ // Check if we have another dialog opened for the contents. It's unlikely, but
+ // possible. If there is no web contents use a tab_id of -1. A dialog without
+ // an associated web contents will be shown full-screen; only one at a time
// is allowed in this state.
- int32 tab_id = tab ? SessionTabHelper::FromWebContents(tab->web_contents())->
- session_id().id()
- : 0;
+ int32 tab_id = SessionID::IdForTab(web_contents);
if (PendingExists(tab_id)) {
DLOG(WARNING) << "Pending dialog exists with id " << tab_id;
return;
@@ -337,7 +334,7 @@ void SelectFileDialogExtension::SelectFileImpl(
default_extension);
ExtensionDialog* dialog = ExtensionDialog::Show(file_browser_url,
- base_window, profile_, tab->web_contents(),
+ base_window, profile_, web_contents,
kFileManagerWidth, kFileManagerHeight,
#if defined(USE_AURA)
file_manager_util::GetTitleFromType(type),

Powered by Google App Engine
This is Rietveld 408576698