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

Unified Diff: ash/wm/root_window_layout_manager.cc

Issue 10810039: 2nd display should show the same background as login/lock screen: (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 5 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: ash/wm/root_window_layout_manager.cc
diff --git a/ash/wm/root_window_layout_manager.cc b/ash/wm/root_window_layout_manager.cc
index 52c117e322a3f4b6285eef05326575ce8eb635f2..f64b4545656c7aa53005ee7fbdacc3ce03687c50 100644
--- a/ash/wm/root_window_layout_manager.cc
+++ b/ash/wm/root_window_layout_manager.cc
@@ -15,24 +15,32 @@ namespace internal {
// RootWindowLayoutManager, public:
RootWindowLayoutManager::RootWindowLayoutManager(aura::Window* owner)
- : owner_(owner),
- background_widget_(NULL) {
+ : owner_(owner) {
+ for (int i = 0; i < kShellWindowCount; i++)
+ background_widget_[i] = NULL;
}
RootWindowLayoutManager::~RootWindowLayoutManager() {
}
-void RootWindowLayoutManager::SetBackgroundWidget(views::Widget* widget) {
- if (widget == background_widget_)
+void RootWindowLayoutManager::SetBackgroundWidget(views::Widget* widget,
+ int container_id) {
+ if (widget == background_widget_[container_id])
return;
// Close now so that the focus manager will be deleted before shutdown.
- if (background_widget_)
- background_widget_->CloseNow();
- background_widget_ = widget;
+ if (background_widget_[container_id])
+ background_widget_[container_id]->CloseNow();
+ background_widget_[container_id] = widget;
}
-void RootWindowLayoutManager::SetBackgroundLayer(ui::Layer* layer) {
- background_layer_.reset(layer);
+void RootWindowLayoutManager::SetBackgroundLayer(ui::Layer* layer,
+ int container_id) {
+ background_layer_[container_id].reset(layer);
+}
+
+void RootWindowLayoutManager::DropBackgroundForContainer(int container_id) {
+ SetBackgroundLayer(NULL, container_id);
+ SetBackgroundWidget(NULL, container_id);
}
////////////////////////////////////////////////////////////////////////////////
@@ -51,11 +59,12 @@ void RootWindowLayoutManager::OnWindowResized() {
for (j = (*i)->children().begin(); j != (*i)->children().end(); ++j)
(*j)->SetBounds(fullscreen_bounds);
}
-
- if (background_widget_)
- background_widget_->SetBounds(fullscreen_bounds);
- if (background_layer_.get())
- background_layer_->SetBounds(fullscreen_bounds);
+ for (int i = 0; i < kShellWindowCount; i++) {
+ if (background_widget_[i])
+ background_widget_[i]->SetBounds(fullscreen_bounds);
+ if (background_layer_[i].get())
+ background_layer_[i]->SetBounds(fullscreen_bounds);
+ }
}
void RootWindowLayoutManager::OnWindowAddedToLayout(aura::Window* child) {

Powered by Google App Engine
This is Rietveld 408576698