2011-03-07 Daniel Cheng <dcheng@chromium.org>
authordcheng@chromium.org <dcheng@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 8 Mar 2011 05:48:33 +0000 (05:48 +0000)
committerdcheng@chromium.org <dcheng@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 8 Mar 2011 05:48:33 +0000 (05:48 +0000)
commita09b63fd4bce0de7bcded0beb0331d4d3d177b55
tree2ccb2d29268a8d7fb7a07f842ab79e68156b813e
parent391b4373af0e7f7876e2da390b336ee20cb99adf
2011-03-07  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by David Levin.

        Add support for DataTransferItems
        https://bugs.webkit.org/show_bug.cgi?id=55115

        Layout test to verify that the basic properties of dataTransfer.items function as expected.

        * editing/pasteboard/data-transfer-items-expected.txt: Added.
        * editing/pasteboard/data-transfer-items.html: Added.
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
2011-03-07  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by David Levin.

        Add support for DataTransferItems
        https://bugs.webkit.org/show_bug.cgi?id=55115

        This patch adds stubs for DataTransferItems/DataTransferItem as well as implementing the
        basic functionality on the Chromium port. With the exception of DataTransferItem::getAsFile,
        all functionality on the DataTransferItems collection has been implemented.
        This change does not actually hook up DataTransferItems to reflect the actual contents of a
        drop/paste operation or to allow mutation of data in a copy/drag start yet. That will be
        enabled via several followup patches.

        Test: editing/pasteboard/data-transfer-items.html

        * Android.mk:
        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setDataTransferItemsEnabled):
        (WebCore::RuntimeEnabledFeatures::dataTransferItemsEnabled):
        * bindings/scripts/CodeGeneratorV8.pm: Do not emit an #include line for DOMString, since it's built-in.
        * dom/Clipboard.h:
        (WebCore::Clipboard::policy):
        * dom/Clipboard.idl:
        * dom/DataTransferItem.cpp: Added.
        * dom/DataTransferItem.h: Added.
        (WebCore::DataTransferItem::~DataTransferItem):
        * dom/DataTransferItem.idl: Added.
        * dom/DataTransferItems.h: Added.
        (WebCore::DataTransferItems::~DataTransferItems):
        * dom/DataTransferItems.idl: Added.
        * dom/StringCallback.cpp: Added.
        (WebCore::StringCallback::scheduleCallback):
        * dom/StringCallback.h: Added.
        (WebCore::StringCallback::~StringCallback):
        * dom/StringCallback.idl: Added.
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::items):
        * platform/chromium/ClipboardChromium.h:
        * platform/chromium/DataTransferItemChromium.cpp: Added.
        (WebCore::DataTransferItemChromium::create):
        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
        (WebCore::DataTransferItemChromium::kind):
        (WebCore::DataTransferItemChromium::type):
        (WebCore::DataTransferItemChromium::getAsString):
        * platform/chromium/DataTransferItemChromium.h: Added.
        * platform/chromium/DataTransferItemsChromium.cpp: Added.
        (WebCore::DataTransferItemsChromium::create):
        (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
        (WebCore::DataTransferItemsChromium::length):
        (WebCore::DataTransferItemsChromium::item):
        (WebCore::DataTransferItemsChromium::deleteItem):
        (WebCore::DataTransferItemsChromium::clear):
        (WebCore::DataTransferItemsChromium::add):
        * platform/chromium/DataTransferItemsChromium.h: Added.
2011-03-07  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by David Levin.

        Add support for DataTransferItems
        https://bugs.webkit.org/show_bug.cgi?id=55115

        Add new runtime enabled flag for data transfer items feature.

        * public/WebRuntimeFeatures.h:
        * src/WebRuntimeFeatures.cpp:
        (WebKit::WebRuntimeFeatures::enableDataTransferItems):
        (WebKit::WebRuntimeFeatures::isDataTransferItemsEnabled):
2011-03-07  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by David Levin.

        Add support for DataTransferItems
        https://bugs.webkit.org/show_bug.cgi?id=55115

        Enable data transfer items in DRT.

        * DumpRenderTree/chromium/TestShell.cpp:
        (TestShell::TestShell):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@80536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
42 files changed:
LayoutTests/ChangeLog
LayoutTests/editing/pasteboard/data-transfer-items-expected.txt [new file with mode: 0644]
LayoutTests/editing/pasteboard/data-transfer-items.html [new file with mode: 0644]
LayoutTests/platform/gtk/Skipped
LayoutTests/platform/mac/Skipped
LayoutTests/platform/qt/Skipped
LayoutTests/platform/win/Skipped
Source/WebCore/Android.mk
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/CodeGenerators.pri
Source/WebCore/DerivedSources.cpp
Source/WebCore/DerivedSources.make
Source/WebCore/GNUmakefile.am
Source/WebCore/WebCore.gypi
Source/WebCore/WebCore.pro
Source/WebCore/WebCore.vcproj/WebCore.vcproj
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp
Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h
Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
Source/WebCore/dom/Clipboard.h
Source/WebCore/dom/Clipboard.idl
Source/WebCore/dom/DataTransferItem.cpp [new file with mode: 0644]
Source/WebCore/dom/DataTransferItem.h [new file with mode: 0644]
Source/WebCore/dom/DataTransferItem.idl [new file with mode: 0644]
Source/WebCore/dom/DataTransferItems.h [new file with mode: 0644]
Source/WebCore/dom/DataTransferItems.idl [new file with mode: 0644]
Source/WebCore/dom/StringCallback.cpp [new file with mode: 0644]
Source/WebCore/dom/StringCallback.h [new file with mode: 0644]
Source/WebCore/dom/StringCallback.idl [new file with mode: 0644]
Source/WebCore/platform/chromium/ClipboardChromium.cpp
Source/WebCore/platform/chromium/ClipboardChromium.h
Source/WebCore/platform/chromium/DataTransferItemChromium.cpp [new file with mode: 0644]
Source/WebCore/platform/chromium/DataTransferItemChromium.h [new file with mode: 0644]
Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp [new file with mode: 0644]
Source/WebCore/platform/chromium/DataTransferItemsChromium.h [new file with mode: 0644]
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/public/WebRuntimeFeatures.h
Source/WebKit/chromium/src/WebRuntimeFeatures.cpp
Tools/ChangeLog
Tools/DumpRenderTree/chromium/TestShell.cpp