Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(161)

Side by Side Diff: chrome/renderer/extensions/custom_bindings_util.cc

Issue 9317072: Allow omitting optional parameters for Extensions API functions (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Better error message distinguishing signature errors and type validation errors. Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/extensions/custom_bindings_util.h" 5 #include "chrome/renderer/extensions/custom_bindings_util.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 24 matching lines...) Expand all
35 "extensions/browser_action_custom_bindings.js", 35 "extensions/browser_action_custom_bindings.js",
36 "extensions/content_settings_custom_bindings.js", 36 "extensions/content_settings_custom_bindings.js",
37 "extensions/experimental.declarative_custom_bindings.js", 37 "extensions/experimental.declarative_custom_bindings.js",
38 "extensions/devtools_custom_bindings.js", 38 "extensions/devtools_custom_bindings.js",
39 "extensions/input.ime_custom_bindings.js", 39 "extensions/input.ime_custom_bindings.js",
40 "extensions/omnibox_custom_bindings.js", 40 "extensions/omnibox_custom_bindings.js",
41 "extensions/page_action_custom_bindings.js", 41 "extensions/page_action_custom_bindings.js",
42 "extensions/storage_custom_bindings.js", 42 "extensions/storage_custom_bindings.js",
43 "extensions/tts_engine_custom_bindings.js", 43 "extensions/tts_engine_custom_bindings.js",
44 "extensions/types_custom_bindings.js", 44 "extensions/types_custom_bindings.js",
45 "extensions/windows_custom_bindings.js",
46 }; 45 };
47 static const size_t kJavascriptFilesSize = arraysize(kJavascriptFiles); 46 static const size_t kJavascriptFilesSize = arraysize(kJavascriptFiles);
48 47
49 // Must match kJavascriptFiles. 48 // Must match kJavascriptFiles.
50 static const int kResourceIDs[] = { 49 static const int kResourceIDs[] = {
51 IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS, 50 IDR_BROWSER_ACTION_CUSTOM_BINDINGS_JS,
52 IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS, 51 IDR_CONTENT_SETTINGS_CUSTOM_BINDINGS_JS,
53 IDR_EXPERIMENTAL_DECLARATIVE_CUSTOM_BINDINGS_JS, 52 IDR_EXPERIMENTAL_DECLARATIVE_CUSTOM_BINDINGS_JS,
54 IDR_DEVTOOLS_CUSTOM_BINDINGS_JS, 53 IDR_DEVTOOLS_CUSTOM_BINDINGS_JS,
55 IDR_INPUT_IME_CUSTOM_BINDINGS_JS, 54 IDR_INPUT_IME_CUSTOM_BINDINGS_JS,
56 IDR_OMNIBOX_CUSTOM_BINDINGS_JS, 55 IDR_OMNIBOX_CUSTOM_BINDINGS_JS,
57 IDR_PAGE_ACTION_CUSTOM_BINDINGS_JS, 56 IDR_PAGE_ACTION_CUSTOM_BINDINGS_JS,
58 IDR_STORAGE_CUSTOM_BINDINGS_JS, 57 IDR_STORAGE_CUSTOM_BINDINGS_JS,
59 IDR_TTS_ENGINE_CUSTOM_BINDINGS_JS, 58 IDR_TTS_ENGINE_CUSTOM_BINDINGS_JS,
60 IDR_TYPES_CUSTOM_BINDINGS_JS, 59 IDR_TYPES_CUSTOM_BINDINGS_JS,
61 IDR_WINDOWS_CUSTOM_BINDINGS_JS,
62 }; 60 };
63 static const size_t kResourceIDsSize = arraysize(kResourceIDs); 61 static const size_t kResourceIDsSize = arraysize(kResourceIDs);
64 62
65 static const char* kDependencies[] = { 63 static const char* kDependencies[] = {
66 "extensions/schema_generated_bindings.js", 64 "extensions/schema_generated_bindings.js",
67 }; 65 };
68 static const size_t kDependencyCount = arraysize(kDependencies); 66 static const size_t kDependencyCount = arraysize(kDependencies);
69 67
70 std::vector<v8::Extension*> result; 68 std::vector<v8::Extension*> result;
71 69
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 147
150 // As in ExtensionAPI::GetSchemasForExtension, we need to allow any bindings 148 // As in ExtensionAPI::GetSchemasForExtension, we need to allow any bindings
151 // for an API that the extension *might* have permission to use. 149 // for an API that the extension *might* have permission to use.
152 return extension.required_permission_set()->HasAnyAccessToAPI(api_name) || 150 return extension.required_permission_set()->HasAnyAccessToAPI(api_name) ||
153 extension.optional_permission_set()->HasAnyAccessToAPI(api_name); 151 extension.optional_permission_set()->HasAnyAccessToAPI(api_name);
154 } 152 }
155 153
156 } // namespace custom_bindings_util 154 } // namespace custom_bindings_util
157 155
158 } // namespace extensions 156 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698