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

Unified Diff: chrome/browser/chromeos/login/webui_login_view.cc

Issue 10454017: [cros] Add support for transparent background in sign in screen. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix build Created 8 years, 7 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/chromeos/login/webui_login_view.cc
diff --git a/chrome/browser/chromeos/login/webui_login_view.cc b/chrome/browser/chromeos/login/webui_login_view.cc
index cdff0ea83d3acc507251ecafdac05b4c96d70a2f..3480c7f8113e4780daaabdbf0a6b83c99bf5f730 100644
--- a/chrome/browser/chromeos/login/webui_login_view.cc
+++ b/chrome/browser/chromeos/login/webui_login_view.cc
@@ -8,11 +8,13 @@
#include "ash/system/tray/system_tray.h"
#include "base/bind.h"
#include "base/callback.h"
+#include "base/command_line.h"
#include "base/i18n/rtl.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/chromeos/accessibility/accessibility_util.h"
#include "chrome/browser/chromeos/cros/cros_library.h"
+#include "chrome/browser/chromeos/login/base_login_display_host.h"
#include "chrome/browser/chromeos/login/proxy_settings_dialog.h"
#include "chrome/browser/chromeos/login/webui_login_display.h"
#include "chrome/browser/profiles/profile_manager.h"
@@ -21,11 +23,14 @@
#include "chrome/browser/ui/views/ash/chrome_shell_delegate.h"
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
#include "chrome/common/chrome_notification_types.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/render_messages.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/session_manager_client.h"
#include "content/public/browser/notification_service.h"
+#include "content/public/browser/render_view_host.h"
#include "content/public/browser/render_view_host_observer.h"
+#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "ui/gfx/rect.h"
@@ -203,6 +208,22 @@ void WebUILoginView::UpdateWindowType() {
void WebUILoginView::LoadURL(const GURL & url) {
webui_login_->LoadInitialURL(url);
webui_login_->RequestFocus();
+
+ CommandLine* command_line = CommandLine::ForCurrentProcess();
+ // Only enable transparency on sign in screen, not on lock screen.
+ if (BaseLoginDisplayHost::default_host() &&
+ command_line->HasSwitch(switches::kEnableNewOobe)) {
+ // TODO(nkostylev): Use WebContentsObserver::RenderViewCreated to track
+ // when RenderView is created.
+ // Use a background with transparency to trigger transparency in Webkit.
+ SkBitmap background;
+ background.setConfig(SkBitmap::kARGB_8888_Config, 1, 1);
+ background.allocPixels();
+ background.eraseARGB(0x00, 0x00, 0x00, 0x00);
+ content::RenderViewHost* host =
+ wrapper_->web_contents()->GetRenderViewHost();
+ host->GetView()->SetBackground(background);
+ }
}
content::WebUI* WebUILoginView::GetWebUI() {
« no previous file with comments | « chrome/browser/chromeos/login/webui_login_display_host.cc ('k') | chrome/browser/resources/chromeos/login/login.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698