diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/clipboard')
14 files changed, 50 insertions, 51 deletions
diff --git a/chromium/third_party/blink/renderer/core/clipboard/data_object.cc b/chromium/third_party/blink/renderer/core/clipboard/data_object.cc index c285880a76f..ce28daa9fd4 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/data_object.cc +++ b/chromium/third_party/blink/renderer/core/clipboard/data_object.cc @@ -279,7 +279,7 @@ void DataObject::NotifyItemListChanged() const { observer->OnItemListChanged(); } -void DataObject::Trace(Visitor* visitor) { +void DataObject::Trace(Visitor* visitor) const { visitor->Trace(item_list_); visitor->Trace(observers_); Supplementable<DataObject>::Trace(visitor); @@ -333,7 +333,6 @@ DataObject* DataObject::Create(WebDragData data) { WebDragData DataObject::ToWebDragData() { WebDragData data; - data.Initialize(); data.SetModifierKeyState(modifiers_); WebVector<WebDragData::Item> item_list(length()); diff --git a/chromium/third_party/blink/renderer/core/clipboard/data_object.h b/chromium/third_party/blink/renderer/core/clipboard/data_object.h index aabc378fefa..65a4b0bf97a 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/data_object.h +++ b/chromium/third_party/blink/renderer/core/clipboard/data_object.h @@ -124,7 +124,7 @@ class CORE_EXPORT DataObject : public GarbageCollected<DataObject>, // whenever the underlying item_list_ changes. void AddObserver(Observer*); - void Trace(Visitor*) override; + void Trace(Visitor*) const override; WebDragData ToWebDragData(); diff --git a/chromium/third_party/blink/renderer/core/clipboard/data_object_item.cc b/chromium/third_party/blink/renderer/core/clipboard/data_object_item.cc index 8445a955220..bf0b10fa632 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/data_object_item.cc +++ b/chromium/third_party/blink/renderer/core/clipboard/data_object_item.cc @@ -120,7 +120,7 @@ DataObjectItem* DataObjectItem::CreateFromClipboard( } DataObjectItem::DataObjectItem(ItemKind kind, const String& type) - : source_(kInternalSource), + : source_(DataSource::kInternalSource), kind_(kind), type_(type), sequence_number_(0), @@ -130,7 +130,7 @@ DataObjectItem::DataObjectItem(ItemKind kind, const String& type, uint64_t sequence_number, SystemClipboard* system_clipboard) - : source_(kClipboardSource), + : source_(DataSource::kClipboardSource), kind_(kind), type_(type), sequence_number_(sequence_number), @@ -142,7 +142,7 @@ File* DataObjectItem::GetAsFile() const { if (Kind() != kFileKind) return nullptr; - if (source_ == kInternalSource) { + if (source_ == DataSource::kInternalSource) { if (file_) return file_.Get(); DCHECK(shared_buffer_); @@ -152,7 +152,7 @@ File* DataObjectItem::GetAsFile() const { return nullptr; } - DCHECK_EQ(source_, kClipboardSource); + DCHECK_EQ(source_, DataSource::kClipboardSource); if (GetType() == kMimeTypeImagePng) { SkBitmap bitmap = system_clipboard_->ReadImage(mojom::ClipboardBuffer::kStandard); @@ -184,10 +184,10 @@ File* DataObjectItem::GetAsFile() const { String DataObjectItem::GetAsString() const { DCHECK_EQ(kind_, kStringKind); - if (source_ == kInternalSource) + if (source_ == DataSource::kInternalSource) return data_; - DCHECK_EQ(source_, kClipboardSource); + DCHECK_EQ(source_, DataSource::kClipboardSource); String data; // This is ugly but there's no real alternative. @@ -222,7 +222,7 @@ String DataObjectItem::FileSystemId() const { return file_system_id_; } -void DataObjectItem::Trace(Visitor* visitor) { +void DataObjectItem::Trace(Visitor* visitor) const { visitor->Trace(file_); visitor->Trace(system_clipboard_); } diff --git a/chromium/third_party/blink/renderer/core/clipboard/data_object_item.h b/chromium/third_party/blink/renderer/core/clipboard/data_object_item.h index 69843abb6d2..ce484f7ef1e 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/data_object_item.h +++ b/chromium/third_party/blink/renderer/core/clipboard/data_object_item.h @@ -89,10 +89,10 @@ class CORE_EXPORT DataObjectItem final bool HasFileSystemId() const; String FileSystemId() const; - void Trace(Visitor*); + void Trace(Visitor*) const; private: - enum DataSource { + enum class DataSource { kClipboardSource, kInternalSource, }; @@ -109,7 +109,8 @@ class CORE_EXPORT DataObjectItem final String title_; KURL base_url_; - uint64_t sequence_number_; // Only valid when |source_| == PasteboardSource. + uint64_t sequence_number_; // Only valid when |source_| == + // DataSource::kClipboardSource. String file_system_id_; // Only valid when |file_| is backed by FileEntry. // Access to the global system clipboard. diff --git a/chromium/third_party/blink/renderer/core/clipboard/data_transfer.cc b/chromium/third_party/blink/renderer/core/clipboard/data_transfer.cc index 047fb1945e0..b56cce6e27a 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/data_transfer.cc +++ b/chromium/third_party/blink/renderer/core/clipboard/data_transfer.cc @@ -27,6 +27,7 @@ #include <memory> +#include "base/optional.h" #include "build/build_config.h" #include "third_party/blink/public/platform/web_screen_info.h" #include "third_party/blink/renderer/core/clipboard/clipboard_mime_types.h" @@ -103,7 +104,7 @@ class DraggedNodeImageBuilder { // object contains transparency and there are other elements in the same // stacking context which stacked below. PaintLayer* layer = dragged_layout_object->EnclosingLayer(); - if (!layer->GetLayoutObject().StyleRef().IsStackingContext()) + if (!layer->GetLayoutObject().IsStackingContext()) layer = layer->AncestorStackingContext(); IntRect absolute_bounding_box = @@ -155,8 +156,11 @@ class DraggedNodeImageBuilder { const uint64_t dom_tree_version_; #endif }; + } // namespace -static DragOperation ConvertEffectAllowedToDragOperation(const String& op) { + +static base::Optional<DragOperation> ConvertEffectAllowedToDragOperation( + const String& op) { // Values specified in // https://html.spec.whatwg.org/multipage/dnd.html#dom-datatransfer-effectallowed if (op == "uninitialized") @@ -168,33 +172,30 @@ static DragOperation ConvertEffectAllowedToDragOperation(const String& op) { if (op == "link") return kDragOperationLink; if (op == "move") - return (DragOperation)(kDragOperationGeneric | kDragOperationMove); + return kDragOperationMove; if (op == "copyLink") - return (DragOperation)(kDragOperationCopy | kDragOperationLink); + return static_cast<DragOperation>(kDragOperationCopy | kDragOperationLink); if (op == "copyMove") - return (DragOperation)(kDragOperationCopy | kDragOperationGeneric | - kDragOperationMove); + return static_cast<DragOperation>(kDragOperationCopy | kDragOperationMove); if (op == "linkMove") - return (DragOperation)(kDragOperationLink | kDragOperationGeneric | - kDragOperationMove); + return static_cast<DragOperation>(kDragOperationLink | kDragOperationMove); if (op == "all") return kDragOperationEvery; - return kDragOperationPrivate; // really a marker for "no conversion" + return base::nullopt; } static String ConvertDragOperationToEffectAllowed(DragOperation op) { - bool move_set = !!((kDragOperationGeneric | kDragOperationMove) & op); - - if ((move_set && (op & kDragOperationCopy) && (op & kDragOperationLink)) || + if (((op & kDragOperationMove) && (op & kDragOperationCopy) && + (op & kDragOperationLink)) || (op == kDragOperationEvery)) return "all"; - if (move_set && (op & kDragOperationCopy)) + if ((op & kDragOperationMove) && (op & kDragOperationCopy)) return "copyMove"; - if (move_set && (op & kDragOperationLink)) + if ((op & kDragOperationMove) && (op & kDragOperationLink)) return "linkMove"; if ((op & kDragOperationCopy) && (op & kDragOperationLink)) return "copyLink"; - if (move_set) + if (op & kDragOperationMove) return "move"; if (op & kDragOperationCopy) return "copy"; @@ -261,7 +262,7 @@ void DataTransfer::setEffectAllowed(const String& effect) { if (!IsForDragAndDrop()) return; - if (ConvertEffectAllowedToDragOperation(effect) == kDragOperationPrivate) { + if (!ConvertEffectAllowedToDragOperation(effect)) { // This means that there was no conversion, and the effectAllowed that // we are passed isn't a valid effectAllowed, so we should ignore it, // and not set |effect_allowed_|. @@ -561,18 +562,19 @@ bool DataTransfer::CanSetDragImage() const { } DragOperation DataTransfer::SourceOperation() const { - DragOperation op = ConvertEffectAllowedToDragOperation(effect_allowed_); - DCHECK_NE(op, kDragOperationPrivate); - return op; + base::Optional<DragOperation> op = + ConvertEffectAllowedToDragOperation(effect_allowed_); + DCHECK(op); + return *op; } DragOperation DataTransfer::DestinationOperation() const { - DragOperation op = ConvertEffectAllowedToDragOperation(drop_effect_); + base::Optional<DragOperation> op = + ConvertEffectAllowedToDragOperation(drop_effect_); DCHECK(op == kDragOperationCopy || op == kDragOperationNone || - op == kDragOperationLink || - op == (DragOperation)(kDragOperationGeneric | kDragOperationMove) || + op == kDragOperationLink || op == kDragOperationMove || op == kDragOperationEvery); - return op; + return *op; } void DataTransfer::SetSourceOperation(DragOperation op) { @@ -582,10 +584,7 @@ void DataTransfer::SetSourceOperation(DragOperation op) { void DataTransfer::SetDestinationOperation(DragOperation op) { DCHECK(op == kDragOperationCopy || op == kDragOperationNone || - op == kDragOperationLink || op == kDragOperationGeneric || - op == kDragOperationMove || - op == static_cast<DragOperation>(kDragOperationGeneric | - kDragOperationMove)); + op == kDragOperationLink || op == kDragOperationMove); drop_effect_ = ConvertDragOperationToEffectAllowed(op); } @@ -680,7 +679,7 @@ String ConvertDragOperationToDropZoneOperation(DragOperation operation) { } } -void DataTransfer::Trace(Visitor* visitor) { +void DataTransfer::Trace(Visitor* visitor) const { visitor->Trace(data_object_); visitor->Trace(drag_image_); visitor->Trace(drag_image_element_); diff --git a/chromium/third_party/blink/renderer/core/clipboard/data_transfer.h b/chromium/third_party/blink/renderer/core/clipboard/data_transfer.h index 06c596b39e7..4a15d999bb2 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/data_transfer.h +++ b/chromium/third_party/blink/renderer/core/clipboard/data_transfer.h @@ -156,7 +156,7 @@ class CORE_EXPORT DataTransfer final : public ScriptWrappable, const PropertyTreeState&); static std::unique_ptr<DragImage> NodeImage(LocalFrame&, Node&); - void Trace(Visitor*) override; + void Trace(Visitor*) const override; private: void setDragImage(ImageResourceContent*, Node*, const IntPoint&); diff --git a/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item.cc b/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item.cc index 459ace940b3..a1f7fed0cc3 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item.cc +++ b/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item.cc @@ -106,7 +106,7 @@ void DataTransferItem::RunGetAsStringTask( callback->InvokeAndReportException(nullptr, data); } -void DataTransferItem::Trace(Visitor* visitor) { +void DataTransferItem::Trace(Visitor* visitor) const { visitor->Trace(data_transfer_); visitor->Trace(item_); ScriptWrappable::Trace(visitor); diff --git a/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item.h b/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item.h index eb8bb1372dc..f055fb3c2b9 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item.h +++ b/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item.h @@ -65,7 +65,7 @@ class CORE_EXPORT DataTransferItem final : public ScriptWrappable { DataTransfer* GetDataTransfer() { return data_transfer_.Get(); } DataObjectItem* GetDataObjectItem() { return item_.Get(); } - void Trace(Visitor*) override; + void Trace(Visitor*) const override; private: void RunGetAsStringTask(ExecutionContext*, diff --git a/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item_list.cc b/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item_list.cc index b7e0bbfcc3c..a0ae189e9d3 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item_list.cc +++ b/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item_list.cc @@ -93,7 +93,7 @@ DataTransferItemList::DataTransferItemList(DataTransfer* data_transfer, DataObject* data_object) : data_transfer_(data_transfer), data_object_(data_object) {} -void DataTransferItemList::Trace(Visitor* visitor) { +void DataTransferItemList::Trace(Visitor* visitor) const { visitor->Trace(data_transfer_); visitor->Trace(data_object_); ScriptWrappable::Trace(visitor); diff --git a/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item_list.h b/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item_list.h index 40619a675b9..fb6fca1b5b7 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item_list.h +++ b/chromium/third_party/blink/renderer/core/clipboard/data_transfer_item_list.h @@ -60,7 +60,7 @@ class CORE_EXPORT DataTransferItemList final : public ScriptWrappable { ExceptionState&); DataTransferItem* add(File*); - void Trace(Visitor*) override; + void Trace(Visitor*) const override; private: Member<DataTransfer> data_transfer_; diff --git a/chromium/third_party/blink/renderer/core/clipboard/raw_system_clipboard.cc b/chromium/third_party/blink/renderer/core/clipboard/raw_system_clipboard.cc index 4f08821b9d0..73e8a755ede 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/raw_system_clipboard.cc +++ b/chromium/third_party/blink/renderer/core/clipboard/raw_system_clipboard.cc @@ -38,7 +38,7 @@ void RawSystemClipboard::CommitWrite() { clipboard_->CommitWrite(); } -void RawSystemClipboard::Trace(Visitor* visitor) { +void RawSystemClipboard::Trace(Visitor* visitor) const { visitor->Trace(clipboard_); } diff --git a/chromium/third_party/blink/renderer/core/clipboard/raw_system_clipboard.h b/chromium/third_party/blink/renderer/core/clipboard/raw_system_clipboard.h index d65c89f3c43..61bf9c17322 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/raw_system_clipboard.h +++ b/chromium/third_party/blink/renderer/core/clipboard/raw_system_clipboard.h @@ -39,7 +39,7 @@ class CORE_EXPORT RawSystemClipboard final void Write(const String& type, mojo_base::BigBuffer data); void CommitWrite(); - void Trace(Visitor*); + void Trace(Visitor*) const; private: HeapMojoRemote<mojom::blink::RawClipboardHost, diff --git a/chromium/third_party/blink/renderer/core/clipboard/system_clipboard.cc b/chromium/third_party/blink/renderer/core/clipboard/system_clipboard.cc index cecf0515695..906de118ace 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/system_clipboard.cc +++ b/chromium/third_party/blink/renderer/core/clipboard/system_clipboard.cc @@ -235,7 +235,7 @@ void SystemClipboard::CommitWrite() { clipboard_->CommitWrite(); } -void SystemClipboard::Trace(Visitor* visitor) { +void SystemClipboard::Trace(Visitor* visitor) const { visitor->Trace(clipboard_); } diff --git a/chromium/third_party/blink/renderer/core/clipboard/system_clipboard.h b/chromium/third_party/blink/renderer/core/clipboard/system_clipboard.h index dfea6b765f6..5d64cf89ca6 100644 --- a/chromium/third_party/blink/renderer/core/clipboard/system_clipboard.h +++ b/chromium/third_party/blink/renderer/core/clipboard/system_clipboard.h @@ -73,13 +73,13 @@ class CORE_EXPORT SystemClipboard final // the OS clipboard. void CommitWrite(); - void Trace(Visitor*); + void Trace(Visitor*) const; private: bool IsValidBufferType(mojom::ClipboardBuffer); HeapMojoRemote<mojom::blink::ClipboardHost, - HeapMojoWrapperMode::kWithoutContextObserver> + HeapMojoWrapperMode::kForceWithoutContextObserver> clipboard_; // In X11, |buffer_| may equal ClipboardBuffer::kStandard or kSelection. // Outside X11, |buffer_| always equals ClipboardBuffer::kStandard. |