diff options
author | michaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-13 19:22:56 +0000 |
---|---|---|
committer | michaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-13 19:22:56 +0000 |
commit | 0167204bc9a6f6873af4b92c8f0969d5ae465088 (patch) | |
tree | 95e5e2d475da2c25152ebe31689fc8e1f74acf16 /chrome/browser/chrome_plugin_host.cc | |
parent | 89518924aa928807e7d5daf4d59fdb969cd19494 (diff) | |
download | chromium_src-0167204bc9a6f6873af4b92c8f0969d5ae465088.zip chromium_src-0167204bc9a6f6873af4b92c8f0969d5ae465088.tar.gz chromium_src-0167204bc9a6f6873af4b92c8f0969d5ae465088.tar.bz2 |
CPAPI gears drag drop and renderer IPC....
CPAPI (0.10) functions for gears drag drop; one to extract the
drag type/data given an NPObject *event, one to override the
drop effect (drag cursor).
Gears drag drop API receives a browser event as an NPObject* so
the event is untrusted. Provide IPC calls to the renderer so
gears can pass the event to renderer/V8 for checking, prior to
drag type/data extraction, or the setting of the drop effect.
V8 event checking is a TODO(noel), http://mondrian/10947778 for
the CPAPI (0.10) change submitted to gears.
BUG=7995
Original patch by Noel Gordon via:
http://codereview.chromium.org/99240
Review URL: http://codereview.chromium.org/115280
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15986 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chrome_plugin_host.cc')
-rw-r--r-- | chrome/browser/chrome_plugin_host.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/chrome_plugin_host.cc b/chrome/browser/chrome_plugin_host.cc index 08ad7e7..0d21cdd 100644 --- a/chrome/browser/chrome_plugin_host.cc +++ b/chrome/browser/chrome_plugin_host.cc @@ -527,6 +527,20 @@ CPError STDCALL CPB_HandleCommand( return CPERR_FAILURE; } +CPError STDCALL CPB_GetDragData( + CPID id, CPBrowsingContext context, struct NPObject* event, bool add_data, + int32* identity, int32* event_id, char** drag_type, char** drag_data) { + *identity = *event_id = 0; + NOTREACHED() << "Should not be called in browser process."; + return CPERR_FAILURE; +} + +CPError STDCALL CPB_SetDropEffect( + CPID id, CPBrowsingContext context, struct NPObject* event, int effect) { + NOTREACHED() << "Should not be called in browser process."; + return CPERR_FAILURE; +} + // // Functions related to network interception // @@ -768,6 +782,8 @@ CPBrowserFuncs* GetCPBrowserFuncsForBrowser() { browser_funcs.send_sync_message = CPB_SendSyncMessage; browser_funcs.plugin_thread_async_call = CPB_PluginThreadAsyncCall; browser_funcs.open_file_dialog = CPB_OpenFileDialog; + browser_funcs.get_drag_data = CPB_GetDragData; + browser_funcs.set_drop_effect = CPB_SetDropEffect; request_funcs.size = sizeof(request_funcs); request_funcs.start_request = CPR_StartRequest; |