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

Unified Diff: ui/views/widget/native_widget_aura.cc

Issue 15114002: Reorder the NativeViews attached to a view via kViewHostKey according to the position of the view (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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: ui/views/widget/native_widget_aura.cc
diff --git a/ui/views/widget/native_widget_aura.cc b/ui/views/widget/native_widget_aura.cc
index 754b258eead2f0474b8189a9b147c285c587a58c..de8069c7cb28b145b7c01edf83a5f7691d3b9ecf 100644
--- a/ui/views/widget/native_widget_aura.cc
+++ b/ui/views/widget/native_widget_aura.cc
@@ -30,11 +30,13 @@
#include "ui/native_theme/native_theme_aura.h"
#include "ui/views/drag_utils.h"
#include "ui/views/ime/input_method_bridge.h"
+#include "ui/views/view_constants_aura.h"
#include "ui/views/views_delegate.h"
#include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h"
#include "ui/views/widget/drop_helper.h"
#include "ui/views/widget/native_widget_aura_window_observer.h"
#include "ui/views/widget/native_widget_delegate.h"
+#include "ui/views/widget/native_widget_layer_reorderer_aura.h"
#include "ui/views/widget/root_view.h"
#include "ui/views/widget/tooltip_manager_aura.h"
#include "ui/views/widget/widget_aura_utils.h"
@@ -172,6 +174,9 @@ void NativeWidgetAura::InitNativeWidget(const Widget::InitParams& params) {
GetWidget()->widget_delegate()->CanMaximize());
window_->SetProperty(aura::client::kCanResizeKey,
GetWidget()->widget_delegate()->CanResize());
+
+ layer_reorderer_.reset(new NativeWidgetLayerReordererAura(window_,
+ GetWidget()->GetRootView()));
}
NonClientFrameView* NativeWidgetAura::CreateNonClientFrameView() {
@@ -226,6 +231,21 @@ gfx::Vector2d NativeWidgetAura::CalculateOffsetToAncestorWithLayer(
return gfx::Vector2d();
}
+void NativeWidgetAura::ReorderLayers() {
+ layer_reorderer_->ReorderLayers();
+}
+
+bool NativeWidgetAura::HasNativeViewAttachedToViewTree() const {
+ // TODO(pkotwicz): Set the the kHostViewKey property when a
+ // NativeViewHost attaches a NativeView to |window_|.
+ const std::vector<aura::Window*>& child_windows = window_->children();
+ for (size_t i = 0; i < child_windows.size(); ++i) {
+ if (child_windows[i]->GetProperty(kHostViewKey))
+ return true;
+ }
+ return false;
+}
+
void NativeWidgetAura::ViewRemoved(View* view) {
DCHECK(drop_helper_.get() != NULL);
drop_helper_->ResetTargetViewIfEquals(view);

Powered by Google App Engine
This is Rietveld 408576698