Index: ash/session_state_delegate_stub.cc |
diff --git a/ash/session_state_delegate_stub.cc b/ash/session_state_delegate_stub.cc |
index 7fc01da402071a79f67c67504e5895b8eb4b883d..75173203513fd2e9ad154a5e50dde96c87d9511d 100644 |
--- a/ash/session_state_delegate_stub.cc |
+++ b/ash/session_state_delegate_stub.cc |
@@ -4,14 +4,36 @@ |
#include "ash/session_state_delegate_stub.h" |
+#include "ash/ash_switches.h" |
#include "ash/shell.h" |
#include "ash/shell/example_factory.h" |
+#include "ash/shell_delegate.h" |
+#include "base/command_line.h" |
+#include "base/file_util.h" |
+#include "base/files/file_path.h" |
#include "base/strings/string16.h" |
#include "base/strings/utf_string_conversions.h" |
+#include "ui/gfx/codec/png_codec.h" |
+#include "ui/gfx/image/image_skia.h" |
namespace ash { |
SessionStateDelegateStub::SessionStateDelegateStub() : screen_locked_(false) { |
Mr4D (OOO till 08-26)
2014/03/14 22:01:30
I am not quite sure why we need this command line
oshima
2014/03/15 01:32:32
This is to test in ash_shell.
Mr4D (OOO till 08-26)
2014/03/17 23:17:47
But couldn't you create a dummy image in a non zer
oshima
2014/03/17 23:30:28
Alternative one is to add debug accelerator to tur
|
+ CommandLine* command_line = CommandLine::ForCurrentProcess(); |
+ if (command_line->HasSwitch(switches::kAshUserImagePath)) { |
+ base::FilePath path = |
+ command_line->GetSwitchValuePath(switches::kAshUserImagePath); |
+ std::string data; |
+ if (!ReadFileToString(path, &data)) |
+ LOG(FATAL) << "Could not read user image: path=" << path.value(); |
+ SkBitmap bitmap; |
+ if (!gfx::PNGCodec::Decode( |
+ reinterpret_cast<const unsigned char*>(data.c_str()), |
+ data.size(), &bitmap)) { |
+ LOG(FATAL) << "Could not decode user image: path=" << path.value(); |
+ } |
+ user_image_ = gfx::ImageSkia(gfx::ImageSkiaRep(bitmap, 1.0f)); |
+ } |
} |
SessionStateDelegateStub::~SessionStateDelegateStub() { |
@@ -20,7 +42,13 @@ SessionStateDelegateStub::~SessionStateDelegateStub() { |
content::BrowserContext* |
SessionStateDelegateStub::GetBrowserContextByIndex( |
MultiProfileIndex index) { |
- return NULL; |
+ return Shell::GetInstance()->delegate()->GetActiveBrowserContext(); |
+} |
+ |
+content::BrowserContext* |
+SessionStateDelegateStub::GetBrowserContextForWindow( |
+ aura::Window* window) { |
+ return Shell::GetInstance()->delegate()->GetActiveBrowserContext(); |
} |
int SessionStateDelegateStub::GetMaximumNumberOfLoggedInUsers() const { |
@@ -79,11 +107,11 @@ const std::string SessionStateDelegateStub::GetUserID( |
const gfx::ImageSkia& SessionStateDelegateStub::GetUserImage( |
content::BrowserContext* context) const { |
- return null_image_; |
+ return user_image_; |
} |
bool SessionStateDelegateStub::ShouldShowAvatar(aura::Window* window) { |
- return false; |
+ return !user_image_.isNull(); |
} |
void SessionStateDelegateStub::SwitchActiveUser(const std::string& user_id) { |