// Copyright (c) 2008 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 #import "base/mac/cocoa_protocols.h" #include "base/memory/scoped_nsobject.h" class CefBrowserImpl; @class WebDragSource; @class WebDropTarget; struct WebDropData; // A view to wrap the WebCore view and help it live in a Cocoa world. The // (rough) equivalent of Apple's WebView. @interface BrowserWebView : NSView { @private CefBrowserImpl *browser_; // weak NSTrackingArea *trackingArea_; scoped_nsobject dragSource_; scoped_nsobject dropTarget_; } - (void)mouseDown:(NSEvent *)theEvent; - (void)rightMouseDown:(NSEvent *)theEvent; - (void)otherMouseDown:(NSEvent *)theEvent; - (void)mouseUp:(NSEvent *)theEvent; - (void)rightMouseUp:(NSEvent *)theEvent; - (void)otherMouseUp:(NSEvent *)theEvent; - (void)mouseMoved:(NSEvent *)theEvent; - (void)mouseDragged:(NSEvent *)theEvent; - (void)scrollWheel:(NSEvent *)theEvent; - (void)rightMouseDragged:(NSEvent *)theEvent; - (void)otherMouseDragged:(NSEvent *)theEvent; - (void)mouseEntered:(NSEvent *)theEvent; - (void)mouseExited:(NSEvent *)theEvent; - (void)keyDown:(NSEvent *)theEvent; - (void)keyUp:(NSEvent *)theEvent; - (BOOL)isOpaque; - (void)setFrame:(NSRect)frameRect; // Called when a context menu item is selected by the user. - (void)menuItemSelected:(id)sender; // Register this WebView as a drag/drop target. - (void)registerDragDrop; // Called from BrowserWebViewDelegate::startDragging() to initiate dragging. - (void)startDragWithDropData:(const WebDropData&)dropData dragOperationMask:(NSDragOperation)operationMask image:(NSImage*)image offset:(NSPoint)offset; @property (nonatomic, assign) CefBrowserImpl *browser; @end