diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-31 20:53:47 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-31 20:53:47 +0000 |
commit | 7418edfa1ad3eada8a12a225579fae3f45f382d5 (patch) | |
tree | 5a0387088ef18bc9a261853964fdf4a801976c08 /chrome/chrome.gyp | |
parent | bca8899ca1e49c182dcfcf17b6b94202e67f5e4b (diff) | |
download | chromium_src-7418edfa1ad3eada8a12a225579fae3f45f382d5.zip chromium_src-7418edfa1ad3eada8a12a225579fae3f45f382d5.tar.gz chromium_src-7418edfa1ad3eada8a12a225579fae3f45f382d5.tar.bz2 |
Enable dragging of images to desktop (Finder), Preview, etc. (on Mac).
This hooks up drag-and-drop of file promises, lazy writing to the drag
pasteboard, drag-sourcing of TIFF images (via Cocoa) and file contents.
Patch Set 5 improvements: Adds asynchronous writing of promised files.
Patch Set 4 improvements: Big refactoring -- drag source stuff is now
handled by the WebDragSource (Cocoa) object, with messages proxied
through the TabContentsViewCocoa object. The WebDragSource object
carries a weak reference to the TCVC, owns the WebDropData, and keeps
track of the drag pasteboard types/promises.
Patch Set 3 improvements over Patch Set 2: It shouldn't crash anymore. Made
drop_data_ reference counted, in anticipation of asynchronous file
writing.
TODO #1: Testing. Still need a unit test, maybe. Should make sure that
dragging by file contents actually works.
TODO #2 (in some other patch): Refactor some of the WebDropData
extraction code out, e.g., file name extraction should be made common
with other platforms.
TODO #3 (in some other patch): We really should make WebDropData cheaper
to copy around and retain. I'm not convinced it's a good idea to push
out the entire thing over IPC, especially since the data pushed could be
very big and may not even be used.
BUG=15640
TEST=drag images to various applications
Patch by viettrungluu@gmail.com
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22187 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/chrome.gyp')
-rw-r--r-- | chrome/chrome.gyp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index f623c1e..1050298 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -763,11 +763,15 @@ 'browser/cocoa/browser_window_controller.mm', 'browser/cocoa/clear_browsing_data_controller.h', 'browser/cocoa/clear_browsing_data_controller.mm', + 'browser/cocoa/clickhold_button_cell.h', + 'browser/cocoa/clickhold_button_cell.mm', 'browser/cocoa/cocoa_test_helper.h', 'browser/cocoa/command_observer_bridge.h', 'browser/cocoa/command_observer_bridge.mm', 'browser/cocoa/custom_home_pages_model.h', 'browser/cocoa/custom_home_pages_model.mm', + 'browser/cocoa/delayedlist_button.h', + 'browser/cocoa/delayedlist_button.mm', 'browser/cocoa/download_item_cell.h', 'browser/cocoa/download_item_cell.mm', 'browser/cocoa/download_item_controller.h', @@ -857,6 +861,8 @@ 'browser/cocoa/toolbar_view.mm', 'browser/cocoa/ui_localizer.h', 'browser/cocoa/ui_localizer.mm', + 'browser/cocoa/web_drag_source.h', + 'browser/cocoa/web_drag_source.mm', 'browser/cocoa/web_drop_target.h', 'browser/cocoa/web_drop_target.mm', 'browser/command_updater.cc', |