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; |