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

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

Issue 1964283002: MacViews: Implemented Drag & Drop (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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/cocoa/bridged_native_widget.mm
diff --git a/ui/views/cocoa/bridged_native_widget.mm b/ui/views/cocoa/bridged_native_widget.mm
index da6acf2f6a6058fe3d52ded46b29a8c893c4e8c6..1c78ddf99f3cace91f386063640261ff246c0eb2 100644
--- a/ui/views/cocoa/bridged_native_widget.mm
+++ b/ui/views/cocoa/bridged_native_widget.mm
@@ -24,6 +24,7 @@
#import "ui/gfx/mac/coordinate_conversion.h"
#import "ui/gfx/mac/nswindow_frame_controls.h"
#import "ui/views/cocoa/bridged_content_view.h"
+#import "ui/views/cocoa/cocoa_drag_drop_manager.h"
#import "ui/views/cocoa/cocoa_mouse_capture.h"
#include "ui/views/cocoa/tooltip_manager_mac.h"
#import "ui/views/cocoa/views_nswindow_delegate.h"
@@ -336,6 +337,7 @@ BridgedNativeWidget::BridgedNativeWidget(NativeWidgetMac* parent)
DCHECK(parent);
window_delegate_.reset(
[[ViewsNSWindowDelegate alloc] initWithBridgedNativeWidget:this]);
+ drag_drop_manager_.reset(new CocoaDragDropManager(this));
}
BridgedNativeWidget::~BridgedNativeWidget() {
@@ -526,7 +528,11 @@ void BridgedNativeWidget::SetRootView(views::View* view) {
// the old views::View will be gone, so any method calls will become no-ops.
if (view) {
- bridged_view_.reset([[BridgedContentView alloc] initWithView:view]);
+ bridged_view_.reset([[BridgedContentView alloc]
+ initWithView:view
+ dragDropManager:drag_drop_manager_.get()]);
+ drag_drop_manager_->SetRootView(view);
+
// Objective C initializers can return nil. However, if |view| is non-NULL
// this should be treated as an error and caught early.
CHECK(bridged_view_);

Powered by Google App Engine
This is Rietveld 408576698