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

Unified Diff: content/browser/renderer_host/render_widget_host_impl.h

Issue 2485693003: Drag-and-drop: DragEnter, DragOver, DragLeave, DragDrop (Closed)
Patch Set: Rebased. More fixes. Created 4 years, 1 month 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: content/browser/renderer_host/render_widget_host_impl.h
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index fdae90befaf3f475188a0a5741adb1c64689a7c7..7f809291a9d183c54f7d256263c0d7a01afd695b 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -40,6 +40,7 @@
#include "content/public/browser/readback_types.h"
#include "content/public/browser/render_widget_host.h"
#include "content/public/common/page_zoom.h"
+#include "content/public/common/url_constants.h"
#include "ipc/ipc_listener.h"
#include "third_party/WebKit/public/platform/WebDisplayMode.h"
#include "ui/base/ime/text_input_mode.h"
@@ -174,6 +175,31 @@ class CONTENT_EXPORT RenderWidgetHostImpl : public RenderWidgetHost,
RenderWidgetHost::InputEventObserver* observer) override;
void GetScreenInfo(content::ScreenInfo* result) override;
void HandleCompositorProto(const std::vector<uint8_t>& proto) override;
+ // |drop_data| must have been filtered. The embedder should call
+ // FilterDropData before passing the drop data to RWHI.
+ void DragTargetDragEnter(const DropData& drop_data,
+ const gfx::Point& client_pt,
+ const gfx::Point& screen_pt,
+ blink::WebDragOperationsMask operations_allowed,
+ int key_modifiers) override;
+ void DragTargetDragEnterWithMetaData(
+ const std::vector<DropData::Metadata>& metadata,
+ const gfx::Point& client_pt,
+ const gfx::Point& screen_pt,
+ blink::WebDragOperationsMask operations_allowed,
+ int key_modifiers) override;
+ void DragTargetDragOver(const gfx::Point& client_pt,
+ const gfx::Point& screen_pt,
+ blink::WebDragOperationsMask operations_allowed,
+ int key_modifiers) override;
+ void DragTargetDragLeave() override;
+ // |drop_data| must have been filtered. The embedder should call
+ // FilterDropData before passing the drop data to RWHI.
+ void DragTargetDrop(const DropData& drop_data,
+ const gfx::Point& client_pt,
+ const gfx::Point& screen_pt,
+ int key_modifiers) override;
+ void FilterDropData(DropData* drop_data) override;
// Notification that the screen info has changed.
void NotifyScreenInfoChanged();
@@ -667,6 +693,12 @@ class CONTENT_EXPORT RenderWidgetHostImpl : public RenderWidgetHost,
int snapshot_id,
scoped_refptr<base::RefCountedBytes> png_data);
+ // 1. Grants permissions to URL (if any)
+ // 2. Grants permissions to filenames
+ // 3. Grants permissions to file system files.
+ // 4. Register the files with the IsolatedContext.
+ void GrantFileAccessFromDropData(DropData* drop_data);
+
// true if a renderer has once been valid. We use this flag to display a sad
// tab only when we lose our renderer and not if a paint occurs during
// initialization.
« no previous file with comments | « content/browser/renderer_host/render_view_host_unittest.cc ('k') | content/browser/renderer_host/render_widget_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698