Index: content/browser/renderer_host/render_view_host_impl.h |
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h |
index d2ff69b09bb0563c269cd749b2db29737c0b5b1b..495ee210b3b32f6fe8ffe29fed59ae974c5d0089 100644 |
--- a/content/browser/renderer_host/render_view_host_impl.h |
+++ b/content/browser/renderer_host/render_view_host_impl.h |
@@ -110,6 +110,8 @@ class CONTENT_EXPORT RenderViewHostImpl : public RenderViewHost, |
int screen_y, |
blink::WebDragOperation operation) override; |
void DragSourceSystemDragEnded() override; |
+ // |drop_data| must have been filtered. The embedder should call |
+ // FilterDropData before passing the drop data to RVHI. |
void DragTargetDragEnter(const DropData& drop_data, |
const gfx::Point& client_pt, |
const gfx::Point& screen_pt, |
@@ -120,9 +122,13 @@ class CONTENT_EXPORT RenderViewHostImpl : public RenderViewHost, |
blink::WebDragOperationsMask operations_allowed, |
int key_modifiers) override; |
void DragTargetDragLeave() override; |
- void DragTargetDrop(const gfx::Point& client_pt, |
+ // |drop_data| must have been filtered. The embedder should call |
+ // FilterDropData before passing the drop data to RVHI. |
+ 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; |
void EnableAutoResize(const gfx::Size& min_size, |
const gfx::Size& max_size) override; |
void DisableAutoResize(const gfx::Size& new_size) override; |
@@ -341,6 +347,12 @@ class CONTENT_EXPORT RenderViewHostImpl : public RenderViewHost, |
// files without the user's consent. |
void GrantFileAccessFromPageState(const PageState& validated_state); |
+ // 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); |
+ |
// The RenderWidgetHost. |
std::unique_ptr<RenderWidgetHostImpl> render_widget_host_; |