summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/tab_strip_view.mm
diff options
context:
space:
mode:
authorviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-18 22:56:08 +0000
committerviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-18 22:56:08 +0000
commit2a7eb61d12a13bb4f0ca38dd855ca072d4fe5578 (patch)
treeb5a94d854550b178196c3d9401a03bbcb5d9781f /chrome/browser/cocoa/tab_strip_view.mm
parentd4b1bb01895a7c5798365fddbcb4996ea90cc38d (diff)
downloadchromium_src-2a7eb61d12a13bb4f0ca38dd855ca072d4fe5578.zip
chromium_src-2a7eb61d12a13bb4f0ca38dd855ca072d4fe5578.tar.gz
chromium_src-2a7eb61d12a13bb4f0ca38dd855ca072d4fe5578.tar.bz2
Mac: implement DnD of URLs onto Omnibox.
(DnD of text coming in another patch.) BUG=24631 TEST=Select a URL/link/file from somewhere (a link in a browser, a URL in text, a file from the desktop, etc.) and drag it to the Omnibox in a Chromium browser window; the contents of the Omnibox should be selected to indicate that a drop would replace its contents; dropping should navigate to the appropriate location. Review URL: http://codereview.chromium.org/481012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34998 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/tab_strip_view.mm')
-rw-r--r--chrome/browser/cocoa/tab_strip_view.mm17
1 files changed, 13 insertions, 4 deletions
diff --git a/chrome/browser/cocoa/tab_strip_view.mm b/chrome/browser/cocoa/tab_strip_view.mm
index 3eeef0a..a5435e9 100644
--- a/chrome/browser/cocoa/tab_strip_view.mm
+++ b/chrome/browser/cocoa/tab_strip_view.mm
@@ -4,6 +4,8 @@
#import "chrome/browser/cocoa/tab_strip_view.h"
+#import "chrome/browser/cocoa/browser_window_controller.h"
+#import "chrome/browser/cocoa/tab_strip_controller.h"
#include "base/logging.h"
@implementation TabStripView
@@ -136,22 +138,29 @@
lastMouseUp_ = (clickCount == 1) ? timestamp : -1000.0;
}
-// Required by |URLDropTargetHandler|.
+// (URLDropTarget protocol)
+- (id<URLDropTargetController>)urlDropController {
+ BrowserWindowController* windowController = [[self window] windowController];
+ DCHECK([windowController isKindOfClass:[BrowserWindowController class]]);
+ return [windowController tabStripController];
+}
+
+// (URLDropTarget protocol)
- (NSDragOperation)draggingEntered:(id<NSDraggingInfo>)sender {
return [dropHandler_ draggingEntered:sender];
}
-// Required by |URLDropTargetHandler|.
+// (URLDropTarget protocol)
- (NSDragOperation)draggingUpdated:(id<NSDraggingInfo>)sender {
return [dropHandler_ draggingUpdated:sender];
}
-// Required by |URLDropTargetHandler|.
+// (URLDropTarget protocol)
- (void)draggingExited:(id<NSDraggingInfo>)sender {
return [dropHandler_ draggingExited:sender];
}
-// Required by |URLDropTargetHandler|.
+// (URLDropTarget protocol)
- (BOOL)performDragOperation:(id<NSDraggingInfo>)sender {
return [dropHandler_ performDragOperation:sender];
}