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

Unified Diff: chrome/browser/ui/cocoa/web_contents_drag_source.mm

Issue 6358008: [Mac] Organize some files into chrome/browser/ui/cocoa/tab_contents/.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 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: chrome/browser/ui/cocoa/web_contents_drag_source.mm
===================================================================
--- chrome/browser/ui/cocoa/web_contents_drag_source.mm (revision 71953)
+++ chrome/browser/ui/cocoa/web_contents_drag_source.mm (working copy)
@@ -1,130 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/web_contents_drag_source.h"
-
-#include "app/mac/nsimage_cache.h"
-#include "base/string_util.h"
-#include "base/sys_string_conversions.h"
-#include "chrome/browser/renderer_host/render_view_host.h"
-#include "chrome/browser/tab_contents/tab_contents.h"
-#include "chrome/browser/tab_contents/tab_contents_view_mac.h"
-
-namespace {
-
-// Make a drag image from the drop data.
-// TODO(feldstein): Make this work
-NSImage* MakeDragImage() {
- // TODO(feldstein): Just a stub for now. Make it do something (see, e.g.,
- // WebKit/WebKit/mac/Misc/WebNSViewExtras.m: |-_web_DragImageForElement:...|).
-
- // Default to returning a generic image.
- return app::mac::GetCachedImageWithName(@"nav.pdf");
-}
-
-// Flips screen and point coordinates over the y axis to work with webkit
-// coordinate systems.
-void FlipPointCoordinates(NSPoint& screenPoint,
- NSPoint& localPoint,
- NSView* view) {
- NSRect viewFrame = [view frame];
- localPoint.y = NSHeight(viewFrame) - localPoint.y;
- // Flip |screenPoint|.
- NSRect screenFrame = [[[view window] screen] frame];
- screenPoint.y = NSHeight(screenFrame) - screenPoint.y;
-}
-
-} // namespace
-
-
-@implementation WebContentsDragSource
-
-- (id)initWithContentsView:(TabContentsViewCocoa*)contentsView
- pasteboard:(NSPasteboard*)pboard
- dragOperationMask:(NSDragOperation)dragOperationMask {
- if ((self = [super init])) {
- contentsView_ = contentsView;
- DCHECK(contentsView_);
-
- pasteboard_.reset([pboard retain]);
- DCHECK(pasteboard_.get());
-
- dragOperationMask_ = dragOperationMask;
- }
-
- return self;
-}
-
-- (NSImage*)dragImage {
- return MakeDragImage();
-}
-
-- (void)fillPasteboard {
- NOTIMPLEMENTED() << "Subclasses should implement fillPasteboard";
-}
-
-- (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocal {
- return dragOperationMask_;
-}
-
-- (void)startDrag {
- [self fillPasteboard];
- NSEvent* currentEvent = [NSApp currentEvent];
-
- // Synthesize an event for dragging, since we can't be sure that
- // [NSApp currentEvent] will return a valid dragging event.
- NSWindow* window = [contentsView_ window];
- NSPoint position = [window mouseLocationOutsideOfEventStream];
- NSTimeInterval eventTime = [currentEvent timestamp];
- NSEvent* dragEvent = [NSEvent mouseEventWithType:NSLeftMouseDragged
- location:position
- modifierFlags:NSLeftMouseDraggedMask
- timestamp:eventTime
- windowNumber:[window windowNumber]
- context:nil
- eventNumber:0
- clickCount:1
- pressure:1.0];
- [window dragImage:[self dragImage]
- at:position
- offset:NSZeroSize
- event:dragEvent
- pasteboard:pasteboard_
- source:self
- slideBack:YES];
-}
-
-- (void)draggedImage:(NSImage *)anImage endedAt:(NSPoint)aPoint
- operation:(NSDragOperation)operation {
-}
-
-- (void)endDragAt:(NSPoint)screenPoint
- operation:(NSDragOperation)operation {
- RenderViewHost* rvh = [contentsView_ tabContents]->render_view_host();
- if (rvh) {
- rvh->DragSourceSystemDragEnded();
-
- NSPoint localPoint = [contentsView_ convertPoint:screenPoint fromView: nil];
- FlipPointCoordinates(screenPoint, localPoint, contentsView_);
- rvh->DragSourceEndedAt(localPoint.x, localPoint.y,
- screenPoint.x, screenPoint.y,
- static_cast<WebKit::WebDragOperation>(operation));
- }
-
- // Make sure the pasteboard owner isn't us.
- [pasteboard_ declareTypes:[NSArray array] owner:nil];
-}
-
-- (void)moveDragTo:(NSPoint)screenPoint {
- RenderViewHost* rvh = [contentsView_ tabContents]->render_view_host();
- if (rvh) {
- NSPoint localPoint = [contentsView_ convertPoint:screenPoint fromView:nil];
- FlipPointCoordinates(screenPoint, localPoint, contentsView_);
- rvh->DragSourceMovedTo(localPoint.x, localPoint.y,
- screenPoint.x, screenPoint.y);
- }
-}
-
-@end // @implementation WebContentsDragSource
-

Powered by Google App Engine
This is Rietveld 408576698