Changeset 85648 in webkit
- Timestamp:
- May 3, 2011 1:29:58 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 9 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r85646 r85648 1 2011-05-03 Igor Oliveira <igor.oliveira@openbossa.org> 2 3 Reviewed by Eric Seidel. 4 5 [Qt] Implement initial support to DataTransferItems 6 https://bugs.webkit.org/show_bug.cgi?id=58448 7 8 Remove data-transfer-items.html from Qt skipped tests and create an expected 9 result file for data-transfer-items.html test. The need to create a expected result 10 file is because the test presuppose that the type of the first element in 11 DataTransferItems list is a html but when Qt selects a data, it first copies a text 12 and then it copies the html, so for Qt expected test file the first element is a 13 text and the second one is a html. 14 15 * platform/qt/Skipped: 16 * platform/qt/editing/pasteboard/data-transfer-items-expected.txt: Added. 17 1 18 2011-05-03 Alpha Lam <hclam@chromium.org> 2 19 -
trunk/LayoutTests/platform/qt/Skipped
r85528 r85648 113 113 # This port doesn't support v8 i18n extension. 114 114 fast/js/i18n-bindings-locale.html 115 116 # DataTransferItems is not yet implemented.117 editing/pasteboard/data-transfer-items.html118 115 119 116 # scalePage is currently Mac-specific WebKit API. -
trunk/Source/WebCore/ChangeLog
r85644 r85648 1 2011-05-03 Igor Oliveira <igor.oliveira@openbossa.org> 2 3 Reviewed by Eric Seidel. 4 5 [Qt] Implement initial support to DataTransferItems 6 https://bugs.webkit.org/show_bug.cgi?id=58448 7 8 Implement initial support to DataTransferItems. DataTransferItems are used to 9 hold data for drag and drop operations. DataTransferItems hold a list of 10 DataTransferItem objects each of which holds an item being dragged. 11 12 * WebCore.pro: 13 * dom/DataTransferItems.idl: 14 * editing/qt/EditorQt.cpp: 15 (WebCore::Editor::newGeneralClipboard): 16 * page/qt/EventHandlerQt.cpp: 17 (WebCore::EventHandler::createDraggingClipboard): 18 * platform/chromium/DataTransferItemsChromium.h: 19 * platform/qt/ClipboardQt.cpp: 20 (WebCore::Clipboard::create): 21 (WebCore::ClipboardQt::ClipboardQt): 22 (WebCore::ClipboardQt::items): 23 * platform/qt/ClipboardQt.h: 24 (WebCore::ClipboardQt::create): 25 * platform/qt/DataTransferItemQt.cpp: Added. 26 (WebCore::DataTransferItem::create): 27 (WebCore::DataTransferItemQt::createFromPasteboard): 28 (WebCore::DataTransferItemQt::create): 29 (WebCore::DataTransferItemQt::DataTransferItemQt): 30 (WebCore::DataTransferItemQt::getAsString): 31 (WebCore::DataTransferItemQt::getAsFile): 32 * platform/qt/DataTransferItemQt.h: Added. 33 * platform/qt/DataTransferItemsQt.cpp: Copied from Source/WebCore/editing/qt/EditorQt.cpp. 34 (WebCore::DataTransferItemsQt::create): 35 (WebCore::DataTransferItemsQt::DataTransferItemsQt): 36 (WebCore::DataTransferItemsQt::addPasteboardItem): 37 * platform/qt/DataTransferItemsQt.h: Copied from Source/WebCore/editing/qt/EditorQt.cpp. 38 1 39 2011-05-03 Julien Chaffraix <jchaffraix@codeaurora.org> 2 40 -
trunk/Source/WebCore/WebCore.pro
r85382 r85648 2715 2715 dom/DataTransferItem.h \ 2716 2716 dom/DataTransferItems.h \ 2717 dom/StringCallback.h 2717 dom/StringCallback.h \ 2718 platform/qt/DataTransferItemQt.h \ 2719 platform/qt/DataTransferItemsQt.h 2718 2720 SOURCES += \ 2719 2721 dom/DataTransferItem.cpp \ 2720 2722 dom/DataTransferItems.cpp \ 2721 dom/StringCallback.cpp 2723 dom/StringCallback.cpp \ 2724 platform/qt/DataTransferItemQt.cpp \ 2725 platform/qt/DataTransferItemsQt.cpp 2722 2726 } 2723 2727 -
trunk/Source/WebCore/dom/DataTransferItems.idl
r80536 r85648 34 34 Conditional=DATA_TRANSFER_ITEMS, 35 35 HasIndexGetter, 36 #if defined(V8_BINDING) && V8_BINDING 36 37 CustomDeleteProperty, 38 #endif 37 39 ] DataTransferItems { 38 40 readonly attribute long length; -
trunk/Source/WebCore/editing/qt/EditorQt.cpp
r82944 r85648 40 40 namespace WebCore { 41 41 42 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame* )42 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame* frame) 43 43 { 44 return ClipboardQt::create(policy );44 return ClipboardQt::create(policy, frame); 45 45 } 46 46 -
trunk/Source/WebCore/page/qt/EventHandlerQt.cpp
r80172 r85648 101 101 PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const 102 102 { 103 return ClipboardQt::create(ClipboardWritable, Clipboard::DragAndDrop);103 return ClipboardQt::create(ClipboardWritable, m_frame, Clipboard::DragAndDrop); 104 104 } 105 105 -
trunk/Source/WebCore/platform/qt/ClipboardQt.cpp
r83338 r85648 31 31 32 32 #include "CachedImage.h" 33 #include "DataTransferItemsQt.h" 33 34 #include "Document.h" 34 35 #include "DragData.h" … … 71 72 } 72 73 73 PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy policy, DragData* dragData, Frame* )74 { 75 return ClipboardQt::create(policy, dragData->platformData() );76 } 77 78 ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, const QMimeData* readableClipboard )74 PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy policy, DragData* dragData, Frame* frame) 75 { 76 return ClipboardQt::create(policy, dragData->platformData(), frame); 77 } 78 79 ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, const QMimeData* readableClipboard, Frame* frame) 79 80 : Clipboard(policy, DragAndDrop) 80 81 , m_readableData(readableClipboard) 81 82 , m_writableData(0) 83 , m_frame(frame) 82 84 { 83 85 Q_ASSERT(policy == ClipboardReadable || policy == ClipboardTypesReadable); 84 86 } 85 87 86 ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, ClipboardType clipboardType )88 ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, ClipboardType clipboardType, Frame* frame) 87 89 : Clipboard(policy, clipboardType) 88 90 , m_readableData(0) 89 91 , m_writableData(0) 92 , m_frame(frame) 90 93 { 91 94 Q_ASSERT(policy == ClipboardReadable || policy == ClipboardWritable || policy == ClipboardNumb); … … 361 364 } 362 365 363 } 366 #if ENABLE(DATA_TRANSFER_ITEMS) 367 PassRefPtr<DataTransferItems> ClipboardQt::items() 368 { 369 370 if (!m_frame && !m_frame->document()) 371 return 0; 372 373 RefPtr<DataTransferItemsQt> items = DataTransferItemsQt::create(this, m_frame->document()->scriptExecutionContext()); 374 375 if (!m_readableData) 376 return items; 377 378 if (isForCopyAndPaste() && policy() == ClipboardReadable) { 379 const QStringList types = m_readableData->formats(); 380 for (int i = 0; i < types.count(); ++i) 381 items->addPasteboardItem(types.at(i)); 382 } 383 return items; 384 } 385 #endif 386 387 } -
trunk/Source/WebCore/platform/qt/ClipboardQt.h
r77779 r85648 42 42 WTF_MAKE_FAST_ALLOCATED; 43 43 public: 44 static PassRefPtr<ClipboardQt> create(ClipboardAccessPolicy policy, const QMimeData* readableClipboard )44 static PassRefPtr<ClipboardQt> create(ClipboardAccessPolicy policy, const QMimeData* readableClipboard, Frame* frame) 45 45 { 46 return adoptRef(new ClipboardQt(policy, readableClipboard ));46 return adoptRef(new ClipboardQt(policy, readableClipboard, frame)); 47 47 } 48 static PassRefPtr<ClipboardQt> create(ClipboardAccessPolicy policy, ClipboardType clipboardType = CopyAndPaste)48 static PassRefPtr<ClipboardQt> create(ClipboardAccessPolicy policy, Frame *frame, ClipboardType clipboardType = CopyAndPaste) 49 49 { 50 return adoptRef(new ClipboardQt(policy, clipboardType ));50 return adoptRef(new ClipboardQt(policy, clipboardType, frame)); 51 51 } 52 52 virtual ~ClipboardQt(); … … 75 75 void invalidateWritableData() { m_writableData = 0; } 76 76 77 #if ENABLE(DATA_TRANSFER_ITEMS) 78 virtual PassRefPtr<DataTransferItems> items(); 79 #endif 80 77 81 private: 78 ClipboardQt(ClipboardAccessPolicy, const QMimeData* readableClipboard );82 ClipboardQt(ClipboardAccessPolicy, const QMimeData* readableClipboard, Frame*); 79 83 80 84 // Clipboard is writable so it will create its own QMimeData object 81 ClipboardQt(ClipboardAccessPolicy, ClipboardType );85 ClipboardQt(ClipboardAccessPolicy, ClipboardType, Frame*); 82 86 83 87 void setDragImage(CachedImage*, Node*, const IntPoint& loc); … … 85 89 const QMimeData* m_readableData; 86 90 QMimeData* m_writableData; 91 Frame* m_frame; 87 92 }; 88 93 } -
trunk/Source/WebCore/platform/qt/DataTransferItemsQt.cpp
r85647 r85648 1 1 /* 2 * Copyright (C) 2006 Zack Rusin <zack@kde.org> 3 * Copyright (C) 2006 Apple Inc. All rights reserved. 2 * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies) 4 3 * 5 4 * Redistribution and use in source and binary forms, with or without … … 26 25 27 26 #include "config.h" 28 #include " Editor.h"27 #include "DataTransferItemsQt.h" 29 28 30 #include "ClipboardAccessPolicy.h" 31 #include "ClipboardQt.h" 32 #include "Document.h" 33 #include "Element.h" 34 #include "SelectionController.h" 35 #include "TextIterator.h" 36 #include "VisibleSelection.h" 37 #include "htmlediting.h" 38 #include "visible_units.h" 29 #if ENABLE(DATA_TRANSFER_ITEMS) 30 31 #include "Clipboard.h" 32 #include "DataTransferItemQt.h" 33 #include "ExceptionCode.h" 39 34 40 35 namespace WebCore { 41 36 42 PassRefPtr< Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame*)37 PassRefPtr<DataTransferItemsQt> DataTransferItemsQt::create(PassRefPtr<Clipboard> owner, ScriptExecutionContext* context) 43 38 { 44 return ClipboardQt::create(policy); 39 return adoptRef(new DataTransferItemsQt(owner, context)); 40 } 41 42 DataTransferItemsQt::DataTransferItemsQt(PassRefPtr<Clipboard> owner, ScriptExecutionContext* context) 43 : DataTransferItems(owner, context) 44 { 45 } 46 47 void DataTransferItemsQt::addPasteboardItem(const String& type) 48 { 49 m_items.append(DataTransferItemQt::createFromPasteboard(m_owner, m_context, type)); 45 50 } 46 51 47 52 } // namespace WebCore 53 54 #endif // ENABLE(DATA_TRANSFER_ITEMS) -
trunk/Source/WebCore/platform/qt/DataTransferItemsQt.h
r85647 r85648 1 1 /* 2 * Copyright (C) 2006 Zack Rusin <zack@kde.org> 3 * Copyright (C) 2006 Apple Inc. All rights reserved. 2 * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies) 4 3 * 5 4 * Redistribution and use in source and binary forms, with or without … … 25 24 */ 26 25 27 #i nclude "config.h"28 # include "Editor.h"26 #ifndef DataTransferItemsQt_h 27 #define DataTransferItemsQt_h 29 28 30 #include "ClipboardAccessPolicy.h" 31 #include "ClipboardQt.h" 32 #include "Document.h" 33 #include "Element.h" 34 #include "SelectionController.h" 35 #include "TextIterator.h" 36 #include "VisibleSelection.h" 37 #include "htmlediting.h" 38 #include "visible_units.h" 29 #if ENABLE(DATA_TRANSFER_ITEMS) 30 31 #include "DataTransferItems.h" 32 #include <wtf/RefPtr.h> 33 #include <wtf/Vector.h> 39 34 40 35 namespace WebCore { 41 36 42 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame*) 43 { 44 return ClipboardQt::create(policy); 37 class Clipboard; 38 class DataTransferItemQt; 39 class ScriptExecutionContext; 40 41 class DataTransferItemsQt : public DataTransferItems { 42 public: 43 static PassRefPtr<DataTransferItemsQt> create(PassRefPtr<Clipboard>, ScriptExecutionContext*); 44 45 friend class ClipboardQt; 46 private: 47 DataTransferItemsQt(PassRefPtr<Clipboard>, ScriptExecutionContext*); 48 49 virtual void addPasteboardItem(const String& type); 50 }; 51 45 52 } 46 53 47 } // namespace WebCore 54 #endif // ENABLE(DATA_TRANSFER_ITEMS) 55 56 #endif
Note: See TracChangeset
for help on using the changeset viewer.