OLD | NEW |
---|---|
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/views/controls/native/native_view_host_aura.h" | 5 #include "ui/views/controls/native/native_view_host_aura.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "ui/aura/client/aura_constants.h" | 8 #include "ui/aura/client/aura_constants.h" |
9 #include "ui/aura/client/focus_client.h" | 9 #include "ui/aura/client/focus_client.h" |
10 #include "ui/aura/window.h" | 10 #include "ui/aura/window.h" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
90 void NativeViewHostAura::AttachNativeView() { | 90 void NativeViewHostAura::AttachNativeView() { |
91 clipping_window_delegate_->set_native_view(host_->native_view()); | 91 clipping_window_delegate_->set_native_view(host_->native_view()); |
92 host_->native_view()->AddObserver(this); | 92 host_->native_view()->AddObserver(this); |
93 host_->native_view()->SetProperty(views::kHostViewKey, | 93 host_->native_view()->SetProperty(views::kHostViewKey, |
94 static_cast<View*>(host_)); | 94 static_cast<View*>(host_)); |
95 AddClippingWindow(); | 95 AddClippingWindow(); |
96 } | 96 } |
97 | 97 |
98 void NativeViewHostAura::NativeViewDetaching(bool destroyed) { | 98 void NativeViewHostAura::NativeViewDetaching(bool destroyed) { |
99 clipping_window_delegate_->set_native_view(NULL); | 99 clipping_window_delegate_->set_native_view(NULL); |
100 if (!destroyed) | |
101 host_->native_view()->Hide(); | |
sky
2014/09/11 16:03:19
Why do we need to hide at all here?
ananta
2014/09/11 16:21:07
If we don't hide it the WCVA code which listens fo
sky
2014/09/11 16:43:36
Here's what the code for windows did eons ago:
vo
| |
102 | |
100 RemoveClippingWindow(); | 103 RemoveClippingWindow(); |
104 | |
101 if (!destroyed) { | 105 if (!destroyed) { |
102 host_->native_view()->RemoveObserver(this); | 106 host_->native_view()->RemoveObserver(this); |
103 host_->native_view()->ClearProperty(views::kHostViewKey); | 107 host_->native_view()->ClearProperty(views::kHostViewKey); |
104 host_->native_view()->ClearProperty(aura::client::kHostWindowKey); | 108 host_->native_view()->ClearProperty(aura::client::kHostWindowKey); |
105 host_->native_view()->Hide(); | |
106 if (host_->native_view()->parent()) | 109 if (host_->native_view()->parent()) |
107 Widget::ReparentNativeView(host_->native_view(), NULL); | 110 Widget::ReparentNativeView(host_->native_view(), NULL); |
108 } | 111 } |
109 } | 112 } |
110 | 113 |
111 void NativeViewHostAura::AddedToWidget() { | 114 void NativeViewHostAura::AddedToWidget() { |
112 if (!host_->native_view()) | 115 if (!host_->native_view()) |
113 return; | 116 return; |
114 | 117 |
115 AddClippingWindow(); | 118 AddClippingWindow(); |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
226 } else { | 229 } else { |
227 clipping_window_.RemoveChild(host_->native_view()); | 230 clipping_window_.RemoveChild(host_->native_view()); |
228 } | 231 } |
229 host_->native_view()->SetBounds(clipping_window_.bounds()); | 232 host_->native_view()->SetBounds(clipping_window_.bounds()); |
230 } | 233 } |
231 if (clipping_window_.parent()) | 234 if (clipping_window_.parent()) |
232 clipping_window_.parent()->RemoveChild(&clipping_window_); | 235 clipping_window_.parent()->RemoveChild(&clipping_window_); |
233 } | 236 } |
234 | 237 |
235 } // namespace views | 238 } // namespace views |
OLD | NEW |