diff options
author | benjhayden@chromium.org <benjhayden@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-03 21:57:57 +0000 |
---|---|---|
committer | benjhayden@chromium.org <benjhayden@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-03 21:57:57 +0000 |
commit | 12188afff126b98305fc7fbd8e6dddb150b25e71 (patch) | |
tree | c6ae639cf1e51167fc03ff6421d15b8cee928105 /tools | |
parent | 861ec93ff39ca21ad51e0fff793e392442a3f013 (diff) | |
download | chromium_src-12188afff126b98305fc7fbd8e6dddb150b25e71.zip chromium_src-12188afff126b98305fc7fbd8e6dddb150b25e71.tar.gz chromium_src-12188afff126b98305fc7fbd8e6dddb150b25e71.tar.bz2 |
Implement chrome.downloads.onDeterminingFilename() to allow extensions to participate in the download filename determination process.
Docs staged: http://basho.cam.corp.google.com:8000/extensions/downloads.html#event-onDeterminingFilename
Example:
chrome.downloads.onDeterminingFilename.addListener(function(item, suggest) {
suggest({filename: item.filename, overwrite: true});
});
chrome.downloads.onDeterminingFilename.addListener(function(item, suggest) {
window.setTimeout(function() {
suggest({filename: item.mime.split('/')[0] + '/' + item.filename, overwrite: false});
}, 1);
return true; // handling asynchronously
});
BUG=12133
BUG=68108
Review URL: https://chromiumcodereview.appspot.com/11574006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185811 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rw-r--r-- | tools/json_schema_compiler/idl_schema.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/json_schema_compiler/idl_schema.py b/tools/json_schema_compiler/idl_schema.py index 62e0e56..8c1bc76 100644 --- a/tools/json_schema_compiler/idl_schema.py +++ b/tools/json_schema_compiler/idl_schema.py @@ -164,6 +164,16 @@ class Member(object): for property_name in ('OPTIONAL', 'nodoc', 'nocompile', 'nodart'): if self.node.GetProperty(property_name): properties[property_name.lower()] = True + for option_name, sanitizer in [ + ('maxListeners', int), + ('supportsFilters', lambda s: s == 'true'), + ('supportsListeners', lambda s: s == 'true'), + ('supportsRules', lambda s: s == 'true')]: + if self.node.GetProperty(option_name): + if 'options' not in properties: + properties['options'] = {} + properties['options'][option_name] = sanitizer(self.node.GetProperty( + option_name)) is_function = False parameter_comments = OrderedDict() for node in self.node.children: |