Index: ui/aura/client/stacking_client.cc |
=================================================================== |
--- ui/aura/client/stacking_client.cc (revision 177189) |
+++ ui/aura/client/stacking_client.cc (working copy) |
@@ -16,22 +16,34 @@ |
DEFINE_WINDOW_PROPERTY_KEY( |
StackingClient*, kRootWindowStackingClientKey, NULL); |
-void SetStackingClient(Window* window, StackingClient* stacking_client) { |
- DCHECK(window); |
+void SetStackingClient(StackingClient* stacking_client) { |
+ Env::GetInstance()->set_stacking_client(stacking_client); |
+} |
- RootWindow* root_window = window->GetRootWindow(); |
- DCHECK(root_window); |
- root_window->SetProperty(kRootWindowStackingClientKey, stacking_client); |
+StackingClient* GetStackingClient() { |
+ return Env::GetInstance()->stacking_client(); |
} |
+void SetStackingClient(Window* window, StackingClient* stacking_client) { |
+ if (window) { |
+ RootWindow* root_window = window->GetRootWindow(); |
+ DCHECK(root_window); |
+ root_window->SetProperty(kRootWindowStackingClientKey, stacking_client); |
+ } else { |
+ SetStackingClient(stacking_client); |
+ } |
+} |
+ |
StackingClient* GetStackingClient(Window* window) { |
- DCHECK(window); |
- RootWindow* root_window = window->GetRootWindow(); |
- DCHECK(root_window); |
- StackingClient* root_window_stacking_client = |
- root_window->GetProperty(kRootWindowStackingClientKey); |
- DCHECK(root_window_stacking_client); |
- return root_window_stacking_client; |
+ if (window) { |
+ RootWindow* root_window = window->GetRootWindow(); |
+ DCHECK(root_window); |
+ StackingClient* root_window_stacking_client = |
+ root_window->GetProperty(kRootWindowStackingClientKey); |
+ if (root_window_stacking_client) |
+ return root_window_stacking_client; |
+ } |
+ return GetStackingClient(); |
} |
} // namespace client |