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

Unified Diff: ui/views/cocoa/bridged_native_widget.mm

Issue 1796773003: Implement NativeWidgetMac::ReorderNativeViews (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Using NativeViewHost*->NSView* map. Created 4 years, 9 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/cocoa/bridged_native_widget.mm
diff --git a/ui/views/cocoa/bridged_native_widget.mm b/ui/views/cocoa/bridged_native_widget.mm
index 6f5dec0f96864ede56c8a7cf940de5ebf964aa92..463901ddd8f9524c4d16cd7ef8969c199d41e135 100644
--- a/ui/views/cocoa/bridged_native_widget.mm
+++ b/ui/views/cocoa/bridged_native_widget.mm
@@ -884,6 +884,25 @@ void BridgedNativeWidget::CreateLayer(ui::LayerType layer_type,
UpdateLayerProperties();
}
+void BridgedNativeWidget::SetAssociationForView(const views::View* view,
+ NSView* native_view) {
+ DCHECK_EQ(0u, associated_views_.count(view));
+ [bridged_view_ addSubview:native_view];
+ associated_views_[view] = native_view;
+ native_widget_mac_->GetWidget()->ReorderNativeViews();
+}
+
+void BridgedNativeWidget::ClearAssociationForView(const views::View* view) {
+ auto it = associated_views_.find(view);
+ DCHECK(it != associated_views_.end());
+ [it->second removeFromSuperview];
+ associated_views_.erase(it);
+}
+
+void BridgedNativeWidget::ReorderChildViews() {
+ ReorderChildNSViews(native_widget_mac_->GetWidget(), associated_views_);
+}
+
////////////////////////////////////////////////////////////////////////////////
// BridgedNativeWidget, internal::InputMethodDelegate:

Powered by Google App Engine
This is Rietveld 408576698