diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-06 23:58:58 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-06 23:58:58 +0000 |
commit | 7c9ec88cfc0b8bca7d101f9353ba84c6023f6363 (patch) | |
tree | 61d5d696e9bc7e4c37a63226ed2803a019f6636a /ppapi/c | |
parent | 2ab5c4e0b07c96b4787f63ec314ca7b7d58dd783 (diff) | |
download | chromium_src-7c9ec88cfc0b8bca7d101f9353ba84c6023f6363.zip chromium_src-7c9ec88cfc0b8bca7d101f9353ba84c6023f6363.tar.gz chromium_src-7c9ec88cfc0b8bca7d101f9353ba84c6023f6363.tar.bz2 |
Add a comment explaining a different failure mode of the Pepper file chooser.
I noticed this while looking at the implementation.
TEST=none (no code change)
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10527002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140890 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/c')
-rw-r--r-- | ppapi/c/dev/ppb_file_chooser_dev.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ppapi/c/dev/ppb_file_chooser_dev.h b/ppapi/c/dev/ppb_file_chooser_dev.h index 469c712..ad43a0f 100644 --- a/ppapi/c/dev/ppb_file_chooser_dev.h +++ b/ppapi/c/dev/ppb_file_chooser_dev.h @@ -3,7 +3,7 @@ * found in the LICENSE file. */ -/* From dev/ppb_file_chooser_dev.idl modified Thu May 17 09:04:27 2012. */ +/* From dev/ppb_file_chooser_dev.idl modified Mon Jun 4 12:44:29 2012. */ #ifndef PPAPI_C_DEV_PPB_FILE_CHOOSER_DEV_H_ #define PPAPI_C_DEV_PPB_FILE_CHOOSER_DEV_H_ @@ -97,6 +97,16 @@ struct PPB_FileChooser_Dev_0_6 { * with a file (or files) selected, PP_ERROR_USERCANCEL if the user selected * no file, or another error code from pp_errors.h on failure. * + * <b>Subtle note:</b> This function will only work when the tab containing + * the plugin is visible. Show() will fail if the tab is in the background. + * Since it's not normally possible to get input events while invisible, this + * is not normally an issue. But there is a race condition because events are + * processed asynchronously. If the user clicks and switches tabs very + * quickly, a plugin could believe the tab is visible while Chrome believes + * it is invisible and the Show() call will fail. This will not generally + * cause user confusion since the user will have switched tabs and will not + * want to see a file chooser from a different tab. + * * @param[in] chooser The file chooser resource. * * @param[in] output An output array which will receive PP_Resource(s) |