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

Unified Diff: chrome/browser/tab_contents/web_drop_target_win.h

Issue 9562049: Move the core drag&drop code for Windows to content\browser to match Mac/GTK. I've had to add tempo… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 10 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/tab_contents/web_drop_target_win.h
===================================================================
--- chrome/browser/tab_contents/web_drop_target_win.h (revision 124553)
+++ chrome/browser/tab_contents/web_drop_target_win.h (working copy)
@@ -1,80 +0,0 @@
-// Copyright (c) 2011 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.
-
-#ifndef CHROME_BROWSER_TAB_CONTENTS_WEB_DROP_TARGET_WIN_H_
-#define CHROME_BROWSER_TAB_CONTENTS_WEB_DROP_TARGET_WIN_H_
-#pragma once
-
-#include "base/memory/scoped_ptr.h"
-#include "third_party/WebKit/Source/WebKit/chromium/public/WebDragOperation.h"
-#include "ui/base/dragdrop/drop_target.h"
-
-class InterstitialDropTarget;
-class RenderViewHost;
-
-namespace content {
-class WebContents;
-class WebDragDestDelegate;
-}
-
-// A helper object that provides drop capabilities to a TabContents. The
-// DropTarget handles drags that enter the region of the WebContents by
-// passing on the events to the renderer.
-class WebDropTarget : public ui::DropTarget {
- public:
- // Create a new WebDropTarget associating it with the given HWND and
- // WebContents.
- WebDropTarget(HWND source_hwnd, content::WebContents* contents);
- virtual ~WebDropTarget();
-
- void set_drag_cursor(WebKit::WebDragOperation op) {
- drag_cursor_ = op;
- }
-
- content::WebDragDestDelegate* delegate() const { return delegate_; }
- void set_delegate(content::WebDragDestDelegate* d) { delegate_ = d; }
-
- protected:
- virtual DWORD OnDragEnter(IDataObject* data_object,
- DWORD key_state,
- POINT cursor_position,
- DWORD effect);
-
- virtual DWORD OnDragOver(IDataObject* data_object,
- DWORD key_state,
- POINT cursor_position,
- DWORD effect);
-
- virtual void OnDragLeave(IDataObject* data_object);
-
- virtual DWORD OnDrop(IDataObject* data_object,
- DWORD key_state,
- POINT cursor_position,
- DWORD effect);
-
- private:
- // Our associated WebContents.
- content::WebContents* web_contents_;
-
- // We keep track of the render view host we're dragging over. If it changes
- // during a drag, we need to re-send the DragEnter message. WARNING:
- // this pointer should never be dereferenced. We only use it for comparing
- // pointers.
- RenderViewHost* current_rvh_;
-
- // Used to determine what cursor we should display when dragging over web
- // content area. This can be updated async during a drag operation.
- WebKit::WebDragOperation drag_cursor_;
-
- // A special drop target handler for when we try to d&d while an interstitial
- // page is showing.
- scoped_ptr<InterstitialDropTarget> interstitial_drop_target_;
-
- // A delegate that can receive drag information about drag events.
- content::WebDragDestDelegate* delegate_;
-
- DISALLOW_COPY_AND_ASSIGN(WebDropTarget);
-};
-
-#endif // CHROME_BROWSER_TAB_CONTENTS_WEB_DROP_TARGET_WIN_H_
« no previous file with comments | « chrome/browser/tab_contents/web_drag_utils_win.cc ('k') | chrome/browser/tab_contents/web_drop_target_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698