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

Unified Diff: trunk/src/apps/shell_window.cc

Issue 163913004: Revert 250826 "Remove Profile dependency from apps::ShellWindow" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « trunk/src/apps/shell_window.h ('k') | trunk/src/chrome/browser/extensions/api/app_window/app_window_api.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trunk/src/apps/shell_window.cc
===================================================================
--- trunk/src/apps/shell_window.cc (revision 251093)
+++ trunk/src/apps/shell_window.cc (working copy)
@@ -15,11 +15,11 @@
#include "chrome/browser/extensions/extension_web_contents_observer.h"
#include "chrome/browser/extensions/suggest_permission_util.h"
#include "chrome/browser/lifetime/application_lifetime.h"
+#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/extensions/manifest_handlers/icons_handler.h"
#include "components/web_modal/web_contents_modal_dialog_manager.h"
-#include "content/public/browser/browser_context.h"
#include "content/public/browser/invalidate_type.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/notification_details.h"
@@ -32,7 +32,6 @@
#include "content/public/browser/web_contents_view.h"
#include "content/public/common/media_stream_request.h"
#include "extensions/browser/extension_system.h"
-#include "extensions/browser/extensions_browser_client.h"
#include "extensions/browser/process_manager.h"
#include "extensions/browser/view_type_utils.h"
#include "extensions/common/extension.h"
@@ -44,7 +43,6 @@
#include "base/prefs/pref_service.h"
#endif
-using content::BrowserContext;
using content::ConsoleMessageLevel;
using content::WebContents;
using extensions::APIPermission;
@@ -139,10 +137,10 @@
ShellWindow::Delegate::~Delegate() {}
-ShellWindow::ShellWindow(BrowserContext* context,
+ShellWindow::ShellWindow(Profile* profile,
Delegate* delegate,
const extensions::Extension* extension)
- : browser_context_(context),
+ : profile_(profile),
extension_(extension),
extension_id_(extension->id()),
window_type_(WINDOW_TYPE_DEFAULT),
@@ -152,9 +150,7 @@
show_on_first_paint_(false),
first_paint_complete_(false),
cached_always_on_top_(false) {
- extensions::ExtensionsBrowserClient* client =
- extensions::ExtensionsBrowserClient::Get();
- CHECK(!client->IsGuestSession(context) || context->IsOffTheRecord())
+ CHECK(!profile->IsGuestSession() || profile->IsOffTheRecord())
<< "Only off the record window may be opened in the guest mode.";
}
@@ -163,7 +159,7 @@
const CreateParams& params) {
// Initialize the render interface and web contents
shell_window_contents_.reset(shell_window_contents);
- shell_window_contents_->Initialize(browser_context(), url);
+ shell_window_contents_->Initialize(profile(), url);
WebContents* web_contents = shell_window_contents_->GetWebContents();
if (CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableAppsShowOnFirstPaint)) {
@@ -211,12 +207,8 @@
// about it in case it has any setup to do to make the renderer appear
// properly. In particular, on Windows, the view's clickthrough region needs
// to be set.
- extensions::ExtensionsBrowserClient* client =
- extensions::ExtensionsBrowserClient::Get();
- registrar_.Add(this,
- chrome::NOTIFICATION_EXTENSION_UNLOADED,
- content::Source<content::BrowserContext>(
- client->GetOriginalContext(browser_context_)));
+ registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UNLOADED,
+ content::Source<Profile>(profile_->GetOriginalProfile()));
// Close when the browser process is exiting.
registrar_.Add(this, chrome::NOTIFICATION_APP_TERMINATING,
content::NotificationService::AllSources());
@@ -237,7 +229,7 @@
UpdateExtensionAppIcon();
- ShellWindowRegistry::Get(browser_context_)->AddShellWindow(this);
+ ShellWindowRegistry::Get(profile_)->AddShellWindow(this);
}
ShellWindow::~ShellWindow() {
@@ -280,8 +272,8 @@
return NULL;
}
- WebContents* contents =
- delegate_->OpenURLFromTab(browser_context_, source, params);
+ WebContents* contents = delegate_->OpenURLFromTab(profile_, source,
+ params);
if (!contents) {
AddMessageToDevToolsConsole(
content::CONSOLE_MESSAGE_LEVEL_ERROR,
@@ -299,13 +291,10 @@
const gfx::Rect& initial_pos,
bool user_gesture,
bool* was_blocked) {
- DCHECK(new_contents->GetBrowserContext() == browser_context_);
- delegate_->AddNewContents(browser_context_,
- new_contents,
- disposition,
- initial_pos,
- user_gesture,
- was_blocked);
+ DCHECK(Profile::FromBrowserContext(new_contents->GetBrowserContext()) ==
+ profile_);
+ delegate_->AddNewContents(profile_, new_contents, disposition,
+ initial_pos, user_gesture, was_blocked);
}
bool ShellWindow::PreHandleKeyboardEvent(
@@ -377,7 +366,7 @@
}
void ShellWindow::OnNativeClose() {
- ShellWindowRegistry::Get(browser_context_)->RemoveShellWindow(this);
+ ShellWindowRegistry::Get(profile_)->RemoveShellWindow(this);
if (shell_window_contents_) {
WebContents* web_contents = shell_window_contents_->GetWebContents();
WebContentsModalDialogManager::FromWebContents(web_contents)->
@@ -405,7 +394,7 @@
}
void ShellWindow::OnNativeWindowActivated() {
- ShellWindowRegistry::Get(browser_context_)->ShellWindowActivated(this);
+ ShellWindowRegistry::Get(profile_)->ShellWindowActivated(this);
}
content::WebContents* ShellWindow::web_contents() const {
@@ -499,16 +488,13 @@
return;
app_icon_ = image;
native_app_window_->UpdateWindowIcon();
- ShellWindowRegistry::Get(browser_context_)->ShellWindowIconChanged(this);
+ ShellWindowRegistry::Get(profile_)->ShellWindowIconChanged(this);
}
void ShellWindow::Fullscreen() {
#if !defined(OS_MACOSX)
// Do not enter fullscreen mode if disallowed by pref.
- PrefService* prefs =
- extensions::ExtensionsBrowserClient::Get()->GetPrefServiceForContext(
- browser_context());
- if (!prefs->GetBoolean(prefs::kAppFullscreenAllowed))
+ if (!profile()->GetPrefs()->GetBoolean(prefs::kAppFullscreenAllowed))
return;
#endif
fullscreen_types_ |= FULLSCREEN_TYPE_WINDOW_API;
@@ -535,10 +521,7 @@
void ShellWindow::OSFullscreen() {
#if !defined(OS_MACOSX)
// Do not enter fullscreen mode if disallowed by pref.
- PrefService* prefs =
- extensions::ExtensionsBrowserClient::Get()->GetPrefServiceForContext(
- browser_context());
- if (!prefs->GetBoolean(prefs::kAppFullscreenAllowed))
+ if (!profile()->GetPrefs()->GetBoolean(prefs::kAppFullscreenAllowed))
return;
#endif
fullscreen_types_ |= FULLSCREEN_TYPE_OS;
@@ -684,13 +667,13 @@
// Avoid using any previous app icons were being downloaded.
image_loader_ptr_factory_.InvalidateWeakPtrs();
- app_icon_image_.reset(
- new extensions::IconImage(browser_context(),
- extension(),
- extensions::IconsInfo::GetIcons(extension()),
- delegate_->PreferredIconSize(),
- extensions::IconsInfo::GetDefaultAppIcon(),
- this));
+ app_icon_image_.reset(new extensions::IconImage(
+ profile(),
+ extension(),
+ extensions::IconsInfo::GetIcons(extension()),
+ delegate_->PreferredIconSize(),
+ extensions::IconsInfo::GetDefaultAppIcon(),
+ this));
// Triggers actual image loading with 1x resources. The 2x resource will
// be handled by IconImage class when requested.
@@ -803,10 +786,8 @@
// Do not enter fullscreen mode if disallowed by pref.
// TODO(bartfab): Add a test once it becomes possible to simulate a user
// gesture. http://crbug.com/174178
- PrefService* prefs =
- extensions::ExtensionsBrowserClient::Get()->GetPrefServiceForContext(
- browser_context());
- if (enter_fullscreen && !prefs->GetBoolean(prefs::kAppFullscreenAllowed)) {
+ if (enter_fullscreen &&
+ !profile()->GetPrefs()->GetBoolean(prefs::kAppFullscreenAllowed)) {
return;
}
#endif
@@ -882,8 +863,7 @@
if (!native_app_window_)
return;
- ShellWindowGeometryCache* cache =
- ShellWindowGeometryCache::Get(browser_context());
+ ShellWindowGeometryCache* cache = ShellWindowGeometryCache::Get(profile());
gfx::Rect bounds = native_app_window_->GetRestoredBounds();
bounds.Inset(native_app_window_->GetFrameInsets());
@@ -939,8 +919,7 @@
// Load cached state if it exists.
if (!params.window_key.empty()) {
- ShellWindowGeometryCache* cache =
- ShellWindowGeometryCache::Get(browser_context());
+ ShellWindowGeometryCache* cache = ShellWindowGeometryCache::Get(profile());
gfx::Rect cached_bounds;
gfx::Rect cached_screen_bounds;
« no previous file with comments | « trunk/src/apps/shell_window.h ('k') | trunk/src/chrome/browser/extensions/api/app_window/app_window_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698