Commit 7b3c5c43 authored by Zhuoyu Qian's avatar Zhuoyu Qian Committed by Commit Bot

Change DataTransferAccessPolicy to be an enum class.

This patch makes DataTransferAccessPolicy to be an enum class for better
type safety and improving code health. Using forward declaratuion in
other header files instead of including |DataTransferAccessPolicy.h|.
Signed-off-by: default avatarZhuoyu Qian <zhuoyu.qian@samsung.com>
Change-Id: Id516b37b0d71ba348b9f146f5ce546cf28316cf7
Reviewed-on: https://chromium-review.googlesource.com/954777Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541985}
parent 5693d3c3
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "build/build_config.h" #include "build/build_config.h"
#include "core/clipboard/DataObject.h" #include "core/clipboard/DataObject.h"
#include "core/clipboard/DataTransferAccessPolicy.h"
#include "core/clipboard/DataTransferItem.h" #include "core/clipboard/DataTransferItem.h"
#include "core/clipboard/DataTransferItemList.h" #include "core/clipboard/DataTransferItemList.h"
#include "core/editing/EphemeralRange.h" #include "core/editing/EphemeralRange.h"
...@@ -218,8 +219,8 @@ static String NormalizeType(const String& type, ...@@ -218,8 +219,8 @@ static String NormalizeType(const String& type,
} }
DataTransfer* DataTransfer::Create() { DataTransfer* DataTransfer::Create() {
DataTransfer* data = DataTransfer* data = Create(
Create(kCopyAndPaste, kDataTransferWritable, DataObject::Create()); kCopyAndPaste, DataTransferAccessPolicy::kWritable, DataObject::Create());
data->drop_effect_ = "none"; data->drop_effect_ = "none";
data->effect_allowed_ = "none"; data->effect_allowed_ = "none";
return data; return data;
...@@ -533,27 +534,29 @@ void DataTransfer::WriteSelection(const FrameSelection& selection) { ...@@ -533,27 +534,29 @@ void DataTransfer::WriteSelection(const FrameSelection& selection) {
void DataTransfer::SetAccessPolicy(DataTransferAccessPolicy policy) { void DataTransfer::SetAccessPolicy(DataTransferAccessPolicy policy) {
// once you go numb, can never go back // once you go numb, can never go back
DCHECK(policy_ != kDataTransferNumb || policy == kDataTransferNumb); DCHECK(policy_ != DataTransferAccessPolicy::kNumb ||
policy == DataTransferAccessPolicy::kNumb);
policy_ = policy; policy_ = policy;
} }
bool DataTransfer::CanReadTypes() const { bool DataTransfer::CanReadTypes() const {
return policy_ == kDataTransferReadable || return policy_ == DataTransferAccessPolicy::kReadable ||
policy_ == kDataTransferTypesReadable || policy_ == DataTransferAccessPolicy::kTypesReadable ||
policy_ == kDataTransferWritable; policy_ == DataTransferAccessPolicy::kWritable;
} }
bool DataTransfer::CanReadData() const { bool DataTransfer::CanReadData() const {
return policy_ == kDataTransferReadable || policy_ == kDataTransferWritable; return policy_ == DataTransferAccessPolicy::kReadable ||
policy_ == DataTransferAccessPolicy::kWritable;
} }
bool DataTransfer::CanWriteData() const { bool DataTransfer::CanWriteData() const {
return policy_ == kDataTransferWritable; return policy_ == DataTransferAccessPolicy::kWritable;
} }
bool DataTransfer::CanSetDragImage() const { bool DataTransfer::CanSetDragImage() const {
return policy_ == kDataTransferImageWritable || return policy_ == DataTransferAccessPolicy::kImageWritable ||
policy_ == kDataTransferWritable; policy_ == DataTransferAccessPolicy::kWritable;
} }
DragOperation DataTransfer::SourceOperation() const { DragOperation DataTransfer::SourceOperation() const {
......
...@@ -27,7 +27,6 @@ ...@@ -27,7 +27,6 @@
#include <memory> #include <memory>
#include "core/CoreExport.h" #include "core/CoreExport.h"
#include "core/clipboard/DataObject.h" #include "core/clipboard/DataObject.h"
#include "core/clipboard/DataTransferAccessPolicy.h"
#include "core/loader/resource/ImageResourceContent.h" #include "core/loader/resource/ImageResourceContent.h"
#include "core/page/DragActions.h" #include "core/page/DragActions.h"
#include "platform/bindings/ScriptWrappable.h" #include "platform/bindings/ScriptWrappable.h"
...@@ -47,6 +46,8 @@ class Node; ...@@ -47,6 +46,8 @@ class Node;
class PaintRecordBuilder; class PaintRecordBuilder;
class PropertyTreeState; class PropertyTreeState;
enum class DataTransferAccessPolicy;
// Used for drag and drop and copy/paste. // Used for drag and drop and copy/paste.
// Drag and Drop: // Drag and Drop:
// http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html // http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html
......
...@@ -28,12 +28,12 @@ ...@@ -28,12 +28,12 @@
namespace blink { namespace blink {
enum DataTransferAccessPolicy { enum class DataTransferAccessPolicy {
kDataTransferNumb, kNumb,
kDataTransferImageWritable, kImageWritable,
kDataTransferWritable, kWritable,
kDataTransferTypesReadable, kTypesReadable,
kDataTransferReadable kReadable
}; };
} // namespace } // namespace
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "core/CSSPropertyNames.h" #include "core/CSSPropertyNames.h"
#include "core/clipboard/DataObject.h" #include "core/clipboard/DataObject.h"
#include "core/clipboard/DataTransfer.h" #include "core/clipboard/DataTransfer.h"
#include "core/clipboard/DataTransferAccessPolicy.h"
#include "core/clipboard/Pasteboard.h" #include "core/clipboard/Pasteboard.h"
#include "core/css/CSSComputedStyleDeclaration.h" #include "core/css/CSSComputedStyleDeclaration.h"
#include "core/css/CSSPropertyValueSet.h" #include "core/css/CSSPropertyValueSet.h"
...@@ -380,9 +381,9 @@ bool Editor::ReplaceSelectionAfterDraggingWithEvents( ...@@ -380,9 +381,9 @@ bool Editor::ReplaceSelectionAfterDraggingWithEvents(
return true; return true;
// Dispatch 'beforeinput'. // Dispatch 'beforeinput'.
DataTransfer* data_transfer = DataTransfer* data_transfer = DataTransfer::Create(
DataTransfer::Create(DataTransfer::kDragAndDrop, kDataTransferReadable, DataTransfer::kDragAndDrop, DataTransferAccessPolicy::kReadable,
drag_data->PlatformData()); drag_data->PlatformData());
data_transfer->SetSourceOperation(drag_data->DraggingSourceOperationMask()); data_transfer->SetSourceOperation(drag_data->DraggingSourceOperationMask());
const bool should_insert = const bool should_insert =
DispatchBeforeInputDataTransfer( DispatchBeforeInputDataTransfer(
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
#include "base/macros.h" #include "base/macros.h"
#include "core/CoreExport.h" #include "core/CoreExport.h"
#include "core/clipboard/DataTransferAccessPolicy.h"
#include "core/editing/EditingBehavior.h" #include "core/editing/EditingBehavior.h"
#include "core/editing/EditingStyle.h" #include "core/editing/EditingStyle.h"
#include "core/editing/Forward.h" #include "core/editing/Forward.h"
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "bindings/core/v8/ExceptionState.h" #include "bindings/core/v8/ExceptionState.h"
#include "core/CSSPropertyNames.h" #include "core/CSSPropertyNames.h"
#include "core/CSSValueKeywords.h" #include "core/CSSValueKeywords.h"
#include "core/clipboard/DataTransferAccessPolicy.h"
#include "core/clipboard/Pasteboard.h" #include "core/clipboard/Pasteboard.h"
#include "core/css/CSSComputedStyleDeclaration.h" #include "core/css/CSSComputedStyleDeclaration.h"
#include "core/css/CSSIdentifierValue.h" #include "core/css/CSSIdentifierValue.h"
...@@ -777,20 +778,20 @@ static bool DispatchClipboardEvent(LocalFrame& frame, ...@@ -777,20 +778,20 @@ static bool DispatchClipboardEvent(LocalFrame& frame,
DataTransfer* const data_transfer = DataTransfer* const data_transfer =
DataTransfer::Create(DataTransfer::kCopyAndPaste, policy, DataTransfer::Create(DataTransfer::kCopyAndPaste, policy,
policy == kDataTransferWritable policy == DataTransferAccessPolicy::kWritable
? DataObject::Create() ? DataObject::Create()
: DataObject::CreateFromPasteboard(paste_mode)); : DataObject::CreateFromPasteboard(paste_mode));
Event* const evt = ClipboardEvent::Create(event_type, data_transfer); Event* const evt = ClipboardEvent::Create(event_type, data_transfer);
target->DispatchEvent(evt); target->DispatchEvent(evt);
const bool no_default_processing = evt->defaultPrevented(); const bool no_default_processing = evt->defaultPrevented();
if (no_default_processing && policy == kDataTransferWritable) { if (no_default_processing && policy == DataTransferAccessPolicy::kWritable) {
Pasteboard::GeneralPasteboard()->WriteDataObject( Pasteboard::GeneralPasteboard()->WriteDataObject(
data_transfer->GetDataObject()); data_transfer->GetDataObject());
} }
// Invalidate clipboard here for security. // Invalidate clipboard here for security.
data_transfer->SetAccessPolicy(kDataTransferNumb); data_transfer->SetAccessPolicy(DataTransferAccessPolicy::kNumb);
return !no_default_processing; return !no_default_processing;
} }
...@@ -804,8 +805,9 @@ static bool DispatchCopyOrCutEvent(LocalFrame& frame, ...@@ -804,8 +805,9 @@ static bool DispatchCopyOrCutEvent(LocalFrame& frame,
frame.Selection().ComputeVisibleSelectionInDOMTree().Start())) frame.Selection().ComputeVisibleSelectionInDOMTree().Start()))
return true; return true;
return DispatchClipboardEvent(frame, event_type, kDataTransferWritable, return DispatchClipboardEvent(frame, event_type,
source, PasteMode::kAllMimeTypes); DataTransferAccessPolicy::kWritable, source,
PasteMode::kAllMimeTypes);
} }
static bool CanSmartCopyOrDelete(LocalFrame& frame) { static bool CanSmartCopyOrDelete(LocalFrame& frame) {
...@@ -2061,7 +2063,8 @@ static bool DispatchPasteEvent(LocalFrame& frame, ...@@ -2061,7 +2063,8 @@ static bool DispatchPasteEvent(LocalFrame& frame,
PasteMode paste_mode, PasteMode paste_mode,
EditorCommandSource source) { EditorCommandSource source) {
return DispatchClipboardEvent(frame, EventTypeNames::paste, return DispatchClipboardEvent(frame, EventTypeNames::paste,
kDataTransferReadable, source, paste_mode); DataTransferAccessPolicy::kReadable, source,
paste_mode);
} }
static void PasteAsFragment(LocalFrame& frame, static void PasteAsFragment(LocalFrame& frame,
...@@ -2145,9 +2148,9 @@ static void Paste(LocalFrame& frame, EditorCommandSource source) { ...@@ -2145,9 +2148,9 @@ static void Paste(LocalFrame& frame, EditorCommandSource source) {
: PasteMode::kPlainTextOnly; : PasteMode::kPlainTextOnly;
if (source == EditorCommandSource::kMenuOrKeyBinding) { if (source == EditorCommandSource::kMenuOrKeyBinding) {
DataTransfer* data_transfer = DataTransfer* data_transfer = DataTransfer::Create(
DataTransfer::Create(DataTransfer::kCopyAndPaste, kDataTransferReadable, DataTransfer::kCopyAndPaste, DataTransferAccessPolicy::kReadable,
DataObject::CreateFromPasteboard(paste_mode)); DataObject::CreateFromPasteboard(paste_mode));
if (DispatchBeforeInputDataTransfer( if (DispatchBeforeInputDataTransfer(
FindEventTargetForClipboardEvent(frame, source), FindEventTargetForClipboardEvent(frame, source),
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "core/editing/spellcheck/SpellChecker.h" #include "core/editing/spellcheck/SpellChecker.h"
#include "core/clipboard/DataTransferAccessPolicy.h"
#include "core/dom/Document.h" #include "core/dom/Document.h"
#include "core/dom/Element.h" #include "core/dom/Element.h"
#include "core/dom/ElementTraversal.h" #include "core/dom/ElementTraversal.h"
...@@ -517,8 +518,7 @@ void SpellChecker::ReplaceMisspelledRange(const String& text) { ...@@ -517,8 +518,7 @@ void SpellChecker::ReplaceMisspelledRange(const String& text) {
DataTransfer* const data_transfer = DataTransfer::Create( DataTransfer* const data_transfer = DataTransfer::Create(
DataTransfer::DataTransferType::kInsertReplacementText, DataTransfer::DataTransferType::kInsertReplacementText,
DataTransferAccessPolicy::kDataTransferReadable, DataTransferAccessPolicy::kReadable, DataObject::CreateFromString(text));
DataObject::CreateFromString(text));
const bool cancel = DispatchBeforeInputDataTransfer( const bool cancel = DispatchBeforeInputDataTransfer(
target, InputEvent::InputType::kInsertReplacementText, target, InputEvent::InputType::kInsertReplacementText,
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "core/editing/suggestion/TextSuggestionController.h" #include "core/editing/suggestion/TextSuggestionController.h"
#include "core/clipboard/DataTransferAccessPolicy.h"
#include "core/editing/EditingUtilities.h" #include "core/editing/EditingUtilities.h"
#include "core/editing/Editor.h" #include "core/editing/Editor.h"
#include "core/editing/EphemeralRange.h" #include "core/editing/EphemeralRange.h"
...@@ -612,7 +613,7 @@ void TextSuggestionController::ReplaceRangeWithText(const EphemeralRange& range, ...@@ -612,7 +613,7 @@ void TextSuggestionController::ReplaceRangeWithText(const EphemeralRange& range,
DataTransfer* const data_transfer = DataTransfer::Create( DataTransfer* const data_transfer = DataTransfer::Create(
DataTransfer::DataTransferType::kInsertReplacementText, DataTransfer::DataTransferType::kInsertReplacementText,
DataTransferAccessPolicy::kDataTransferReadable, DataTransferAccessPolicy::kReadable,
DataObject::CreateFromString(replacement)); DataObject::CreateFromString(replacement));
const bool is_canceled = const bool is_canceled =
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "build/build_config.h" #include "build/build_config.h"
#include "core/clipboard/DataObject.h" #include "core/clipboard/DataObject.h"
#include "core/clipboard/DataTransfer.h" #include "core/clipboard/DataTransfer.h"
#include "core/clipboard/DataTransferAccessPolicy.h"
#include "core/dom/Element.h" #include "core/dom/Element.h"
#include "core/dom/ElementTraversal.h" #include "core/dom/ElementTraversal.h"
#include "core/editing/EditingUtilities.h" #include "core/editing/EditingUtilities.h"
...@@ -925,7 +926,8 @@ bool MouseEventManager::HandleDrag(const MouseEventWithHitTestResults& event, ...@@ -925,7 +926,8 @@ bool MouseEventManager::HandleDrag(const MouseEventWithHitTestResults& event,
} }
DataTransfer* MouseEventManager::CreateDraggingDataTransfer() const { DataTransfer* MouseEventManager::CreateDraggingDataTransfer() const {
return DataTransfer::Create(DataTransfer::kDragAndDrop, kDataTransferWritable, return DataTransfer::Create(DataTransfer::kDragAndDrop,
DataTransferAccessPolicy::kWritable,
DataObject::Create()); DataObject::Create());
} }
...@@ -964,7 +966,7 @@ bool MouseEventManager::TryStartDrag( ...@@ -964,7 +966,7 @@ bool MouseEventManager::TryStartDrag(
// The drag image can still be changed as we drag, but not the pasteboard // The drag image can still be changed as we drag, but not the pasteboard
// data. // data.
GetDragState().drag_data_transfer_->SetAccessPolicy( GetDragState().drag_data_transfer_->SetAccessPolicy(
kDataTransferImageWritable); DataTransferAccessPolicy::kImageWritable);
if (mouse_down_may_start_drag_) { if (mouse_down_may_start_drag_) {
// Dispatching the event could cause Page to go away. Make sure it's still // Dispatching the event could cause Page to go away. Make sure it's still
...@@ -1035,7 +1037,8 @@ void MouseEventManager::ClearDragDataTransfer() { ...@@ -1035,7 +1037,8 @@ void MouseEventManager::ClearDragDataTransfer() {
return; return;
if (GetDragState().drag_data_transfer_) { if (GetDragState().drag_data_transfer_) {
GetDragState().drag_data_transfer_->ClearDragImage(); GetDragState().drag_data_transfer_->ClearDragImage();
GetDragState().drag_data_transfer_->SetAccessPolicy(kDataTransferNumb); GetDragState().drag_data_transfer_->SetAccessPolicy(
DataTransferAccessPolicy::kNumb);
} }
} }
......
...@@ -224,13 +224,14 @@ void DragController::DragExited(DragData* drag_data, LocalFrame& local_root) { ...@@ -224,13 +224,14 @@ void DragController::DragExited(DragData* drag_data, LocalFrame& local_root) {
LocalFrameView* frame_view(local_root.View()); LocalFrameView* frame_view(local_root.View());
if (frame_view) { if (frame_view) {
DataTransferAccessPolicy policy = kDataTransferTypesReadable; DataTransferAccessPolicy policy = DataTransferAccessPolicy::kTypesReadable;
DataTransfer* data_transfer = CreateDraggingDataTransfer(policy, drag_data); DataTransfer* data_transfer = CreateDraggingDataTransfer(policy, drag_data);
data_transfer->SetSourceOperation(drag_data->DraggingSourceOperationMask()); data_transfer->SetSourceOperation(drag_data->DraggingSourceOperationMask());
local_root.GetEventHandler().CancelDragAndDrop(CreateMouseEvent(drag_data), local_root.GetEventHandler().CancelDragAndDrop(CreateMouseEvent(drag_data),
data_transfer); data_transfer);
data_transfer->SetAccessPolicy( data_transfer->SetAccessPolicy(
kDataTransferNumb); // invalidate clipboard here for security DataTransferAccessPolicy::kNumb); // invalidate clipboard here for
// security
} }
MouseMovedIntoDocument(nullptr); MouseMovedIntoDocument(nullptr);
if (file_input_element_under_mouse_) if (file_input_element_under_mouse_)
...@@ -250,8 +251,8 @@ void DragController::PerformDrag(DragData* drag_data, LocalFrame& local_root) { ...@@ -250,8 +251,8 @@ void DragController::PerformDrag(DragData* drag_data, LocalFrame& local_root) {
bool prevented_default = false; bool prevented_default = false;
if (local_root.View()) { if (local_root.View()) {
// Sending an event can result in the destruction of the view and part. // Sending an event can result in the destruction of the view and part.
DataTransfer* data_transfer = DataTransfer* data_transfer = CreateDraggingDataTransfer(
CreateDraggingDataTransfer(kDataTransferReadable, drag_data); DataTransferAccessPolicy::kReadable, drag_data);
data_transfer->SetSourceOperation( data_transfer->SetSourceOperation(
drag_data->DraggingSourceOperationMask()); drag_data->DraggingSourceOperationMask());
EventHandler& event_handler = local_root.GetEventHandler(); EventHandler& event_handler = local_root.GetEventHandler();
...@@ -270,7 +271,7 @@ void DragController::PerformDrag(DragData* drag_data, LocalFrame& local_root) { ...@@ -270,7 +271,7 @@ void DragController::PerformDrag(DragData* drag_data, LocalFrame& local_root) {
} }
// Invalidate clipboard here for security. // Invalidate clipboard here for security.
data_transfer->SetAccessPolicy(kDataTransferNumb); data_transfer->SetAccessPolicy(DataTransferAccessPolicy::kNumb);
} }
if (prevented_default) { if (prevented_default) {
document_under_mouse_ = nullptr; document_under_mouse_ = nullptr;
...@@ -762,7 +763,7 @@ bool DragController::TryDHTMLDrag(DragData* drag_data, ...@@ -762,7 +763,7 @@ bool DragController::TryDHTMLDrag(DragData* drag_data,
if (!local_root.View()) if (!local_root.View())
return false; return false;
DataTransferAccessPolicy policy = kDataTransferTypesReadable; DataTransferAccessPolicy policy = DataTransferAccessPolicy::kTypesReadable;
DataTransfer* data_transfer = CreateDraggingDataTransfer(policy, drag_data); DataTransfer* data_transfer = CreateDraggingDataTransfer(policy, drag_data);
DragOperation src_op_mask = drag_data->DraggingSourceOperationMask(); DragOperation src_op_mask = drag_data->DraggingSourceOperationMask();
data_transfer->SetSourceOperation(src_op_mask); data_transfer->SetSourceOperation(src_op_mask);
...@@ -771,7 +772,8 @@ bool DragController::TryDHTMLDrag(DragData* drag_data, ...@@ -771,7 +772,8 @@ bool DragController::TryDHTMLDrag(DragData* drag_data,
if (local_root.GetEventHandler().UpdateDragAndDrop(event, data_transfer) == if (local_root.GetEventHandler().UpdateDragAndDrop(event, data_transfer) ==
WebInputEventResult::kNotHandled) { WebInputEventResult::kNotHandled) {
data_transfer->SetAccessPolicy( data_transfer->SetAccessPolicy(
kDataTransferNumb); // invalidate clipboard here for security DataTransferAccessPolicy::kNumb); // invalidate clipboard here for
// security
return false; return false;
} }
...@@ -784,7 +786,8 @@ bool DragController::TryDHTMLDrag(DragData* drag_data, ...@@ -784,7 +786,8 @@ bool DragController::TryDHTMLDrag(DragData* drag_data,
} }
data_transfer->SetAccessPolicy( data_transfer->SetAccessPolicy(
kDataTransferNumb); // invalidate clipboard here for security DataTransferAccessPolicy::kNumb); // invalidate clipboard here for
// security
return true; return true;
} }
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "core/clipboard/DataObject.h" #include "core/clipboard/DataObject.h"
#include "core/clipboard/DataTransfer.h" #include "core/clipboard/DataTransfer.h"
#include "core/clipboard/DataTransferAccessPolicy.h"
#include "core/editing/FrameSelection.h" #include "core/editing/FrameSelection.h"
#include "core/frame/LocalFrame.h" #include "core/frame/LocalFrame.h"
#include "core/frame/LocalFrameView.h" #include "core/frame/LocalFrameView.h"
...@@ -396,7 +397,8 @@ TEST_P(DragControllerTest, DragImageOffsetWithPageScaleFactor) { ...@@ -396,7 +397,8 @@ TEST_P(DragControllerTest, DragImageOffsetWithPageScaleFactor) {
drag_state.drag_type_ = kDragSourceActionSelection; drag_state.drag_type_ = kDragSourceActionSelection;
drag_state.drag_src_ = GetDocument().getElementById("drag"); drag_state.drag_src_ = GetDocument().getElementById("drag");
drag_state.drag_data_transfer_ = DataTransfer::Create( drag_state.drag_data_transfer_ = DataTransfer::Create(
DataTransfer::kDragAndDrop, kDataTransferWritable, DataObject::Create()); DataTransfer::kDragAndDrop, DataTransferAccessPolicy::kWritable,
DataObject::Create());
GetFrame().GetPage()->GetDragController().StartDrag( GetFrame().GetPage()->GetDragController().StartDrag(
&GetFrame(), drag_state, mouse_event, IntPoint(5, 10)); &GetFrame(), drag_state, mouse_event, IntPoint(5, 10));
...@@ -439,7 +441,8 @@ TEST_P(DragControllerTest, DragLinkWithPageScaleFactor) { ...@@ -439,7 +441,8 @@ TEST_P(DragControllerTest, DragLinkWithPageScaleFactor) {
drag_state.drag_type_ = kDragSourceActionLink; drag_state.drag_type_ = kDragSourceActionLink;
drag_state.drag_src_ = GetDocument().getElementById("drag"); drag_state.drag_src_ = GetDocument().getElementById("drag");
drag_state.drag_data_transfer_ = DataTransfer::Create( drag_state.drag_data_transfer_ = DataTransfer::Create(
DataTransfer::kDragAndDrop, kDataTransferWritable, DataObject::Create()); DataTransfer::kDragAndDrop, DataTransferAccessPolicy::kWritable,
DataObject::Create());
GetFrame().GetPage()->GetDragController().StartDrag( GetFrame().GetPage()->GetDragController().StartDrag(
&GetFrame(), drag_state, mouse_event, IntPoint(5, 10)); &GetFrame(), drag_state, mouse_event, IntPoint(5, 10));
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "bindings/core/v8/ScriptPromiseResolver.h" #include "bindings/core/v8/ScriptPromiseResolver.h"
#include "core/clipboard/DataObject.h" #include "core/clipboard/DataObject.h"
#include "core/clipboard/DataTransfer.h" #include "core/clipboard/DataTransfer.h"
#include "core/clipboard/DataTransferAccessPolicy.h"
#include "core/clipboard/DataTransferItem.h" #include "core/clipboard/DataTransferItem.h"
#include "core/clipboard/DataTransferItemList.h" #include "core/clipboard/DataTransferItemList.h"
#include "core/dom/ExecutionContext.h" #include "core/dom/ExecutionContext.h"
...@@ -155,8 +156,7 @@ void ClipboardPromise::HandleReadWithPermission(PermissionStatus status) { ...@@ -155,8 +156,7 @@ void ClipboardPromise::HandleReadWithPermission(PermissionStatus status) {
const DataTransfer::DataTransferType type = const DataTransfer::DataTransferType type =
DataTransfer::DataTransferType::kCopyAndPaste; DataTransfer::DataTransferType::kCopyAndPaste;
const DataTransferAccessPolicy access = const DataTransferAccessPolicy access = DataTransferAccessPolicy::kReadable;
DataTransferAccessPolicy::kDataTransferReadable;
DataObject* data = DataObject::CreateFromString(plain_text); DataObject* data = DataObject::CreateFromString(plain_text);
DataTransfer* dt = DataTransfer::Create(type, access, data); DataTransfer* dt = DataTransfer::Create(type, access, data);
script_promise_resolver_->Resolve(dt); script_promise_resolver_->Resolve(dt);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment