summaryrefslogtreecommitdiffstats
path: root/ppapi/c
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-06 23:58:58 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-06 23:58:58 +0000
commit7c9ec88cfc0b8bca7d101f9353ba84c6023f6363 (patch)
tree61d5d696e9bc7e4c37a63226ed2803a019f6636a /ppapi/c
parent2ab5c4e0b07c96b4787f63ec314ca7b7d58dd783 (diff)
downloadchromium_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.h12
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)