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

Side by Side Diff: ui/aura/client/visibility_client.cc

Issue 2632543003: Refactor and push window properties up to class properties. (Closed)
Patch Set: More build fixes Created 3 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/aura/client/visibility_client.h" 5 #include "ui/aura/client/visibility_client.h"
6 6
7 #include "ui/aura/window.h"
7 #include "ui/aura/window_event_dispatcher.h" 8 #include "ui/aura/window_event_dispatcher.h"
8 #include "ui/aura/window_property.h" 9 #include "ui/base/class_property.h"
9 10
10 DECLARE_WINDOW_PROPERTY_TYPE(aura::client::VisibilityClient*) 11 DECLARE_UI_CLASS_PROPERTY_TYPE(aura::client::VisibilityClient*)
11 12
12 namespace aura { 13 namespace aura {
13 namespace client { 14 namespace client {
14 15
15 // A property key to store a client that handles window visibility changes. 16 // A property key to store a client that handles window visibility changes.
16 DEFINE_LOCAL_WINDOW_PROPERTY_KEY( 17 DEFINE_LOCAL_UI_CLASS_PROPERTY_KEY(
17 VisibilityClient*, kWindowVisibilityClientKey, NULL); 18 VisibilityClient*, kWindowVisibilityClientKey, NULL);
18 19
19 20
20 void SetVisibilityClient(Window* window, VisibilityClient* client) { 21 void SetVisibilityClient(Window* window, VisibilityClient* client) {
21 window->SetProperty(kWindowVisibilityClientKey, client); 22 window->SetProperty(kWindowVisibilityClientKey, client);
22 } 23 }
23 24
24 VisibilityClient* GetVisibilityClient(Window* window) { 25 VisibilityClient* GetVisibilityClient(Window* window) {
25 VisibilityClient* visibility_client = NULL; 26 VisibilityClient* visibility_client = NULL;
26 aura::Window* current = window; 27 aura::Window* current = window;
27 do { 28 do {
28 visibility_client = current->GetProperty(kWindowVisibilityClientKey); 29 visibility_client = current->GetProperty(kWindowVisibilityClientKey);
29 current = current->parent(); 30 current = current->parent();
30 } while (current && !visibility_client); 31 } while (current && !visibility_client);
31 return visibility_client; 32 return visibility_client;
32 } 33 }
33 34
34 } // namespace client 35 } // namespace client
35 } // namespace aura 36 } // namespace aura
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698