[telemetry] Move winring0 and ippet back outside AMD64.
[chromium-blink-merge.git] / ui / aura / client / visibility_client.cc
blob853c034951f72e795b69581dc5d9cb51329d71cb
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
3 // found in the LICENSE file.
5 #include "ui/aura/client/visibility_client.h"
7 #include "ui/aura/window_event_dispatcher.h"
8 #include "ui/aura/window_property.h"
10 DECLARE_WINDOW_PROPERTY_TYPE(aura::client::VisibilityClient*)
12 namespace aura {
13 namespace client {
15 // A property key to store a client that handles window visibility changes.
16 DEFINE_LOCAL_WINDOW_PROPERTY_KEY(
17 VisibilityClient*, kWindowVisibilityClientKey, NULL);
20 void SetVisibilityClient(Window* window, VisibilityClient* client) {
21 window->SetProperty(kWindowVisibilityClientKey, client);
24 VisibilityClient* GetVisibilityClient(Window* window) {
25 VisibilityClient* visibility_client = NULL;
26 aura::Window* current = window;
27 do {
28 visibility_client = current->GetProperty(kWindowVisibilityClientKey);
29 current = current->parent();
30 } while (current && !visibility_client);
31 return visibility_client;
34 } // namespace client
35 } // namespace aura