OLD | NEW |
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/common/extensions/api/extension_api.h" | 5 #include "chrome/common/extensions/api/extension_api.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 const DictionaryValue* schema = NULL; | 154 const DictionaryValue* schema = NULL; |
155 { | 155 { |
156 Value* value = NULL; | 156 Value* value = NULL; |
157 schema_list->Remove(schema_list->GetSize() - 1, &value); | 157 schema_list->Remove(schema_list->GetSize() - 1, &value); |
158 CHECK(value->IsType(Value::TYPE_DICTIONARY)); | 158 CHECK(value->IsType(Value::TYPE_DICTIONARY)); |
159 schema = static_cast<const DictionaryValue*>(value); | 159 schema = static_cast<const DictionaryValue*>(value); |
160 } | 160 } |
161 | 161 |
162 CHECK(schema->GetString("namespace", &schema_namespace)); | 162 CHECK(schema->GetString("namespace", &schema_namespace)); |
163 schemas_[schema_namespace] = make_linked_ptr(schema); | 163 schemas_[schema_namespace] = make_linked_ptr(schema); |
164 unloaded_schemas_.erase(schema_namespace); | 164 CHECK_EQ(1u, unloaded_schemas_.erase(schema_namespace)); |
165 | 165 |
166 // Populate |{completely,partially}_unprivileged_apis_|. | 166 // Populate |{completely,partially}_unprivileged_apis_|. |
167 // | 167 // |
168 // For "partially", only need to look at functions/events; even though | 168 // For "partially", only need to look at functions/events; even though |
169 // there are unprivileged properties (e.g. in extensions), access to those | 169 // there are unprivileged properties (e.g. in extensions), access to those |
170 // never reaches C++ land. | 170 // never reaches C++ land. |
171 if (schema->HasKey("unprivileged")) { | 171 if (schema->HasKey("unprivileged")) { |
172 completely_unprivileged_apis_.insert(schema_namespace); | 172 completely_unprivileged_apis_.insert(schema_namespace); |
173 } else if (HasUnprivilegedChild(schema, "functions") || | 173 } else if (HasUnprivilegedChild(schema, "functions") || |
174 HasUnprivilegedChild(schema, "events")) { | 174 HasUnprivilegedChild(schema, "events")) { |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 RegisterSchema("experimental.identity", ReadFromResource( | 288 RegisterSchema("experimental.identity", ReadFromResource( |
289 IDR_EXTENSION_API_JSON_EXPERIMENTAL_IDENTITY)); | 289 IDR_EXTENSION_API_JSON_EXPERIMENTAL_IDENTITY)); |
290 RegisterSchema("experimental.infobars", ReadFromResource( | 290 RegisterSchema("experimental.infobars", ReadFromResource( |
291 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INFOBARS)); | 291 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INFOBARS)); |
292 RegisterSchema("experimental.input.ui", ReadFromResource( | 292 RegisterSchema("experimental.input.ui", ReadFromResource( |
293 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_UI)); | 293 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_UI)); |
294 RegisterSchema("experimental.input.virtualKeyboard", ReadFromResource( | 294 RegisterSchema("experimental.input.virtualKeyboard", ReadFromResource( |
295 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_VIRTUALKEYBOARD)); | 295 IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_VIRTUALKEYBOARD)); |
296 RegisterSchema("experimental.keybinding", ReadFromResource( | 296 RegisterSchema("experimental.keybinding", ReadFromResource( |
297 IDR_EXTENSION_API_JSON_EXPERIMENTAL_KEYBINDING)); | 297 IDR_EXTENSION_API_JSON_EXPERIMENTAL_KEYBINDING)); |
298 RegisterSchema("experimental.managedMode", ReadFromResource( | |
299 IDR_EXTENSION_API_JSON_EXPERIMENTAL_MANAGEDMODE)); | |
300 RegisterSchema("experimental.offscreenTabs", ReadFromResource( | 298 RegisterSchema("experimental.offscreenTabs", ReadFromResource( |
301 IDR_EXTENSION_API_JSON_EXPERIMENTAL_OFFSCREENTABS)); | 299 IDR_EXTENSION_API_JSON_EXPERIMENTAL_OFFSCREENTABS)); |
302 RegisterSchema("experimental.processes", ReadFromResource( | 300 RegisterSchema("experimental.processes", ReadFromResource( |
303 IDR_EXTENSION_API_JSON_EXPERIMENTAL_PROCESSES)); | 301 IDR_EXTENSION_API_JSON_EXPERIMENTAL_PROCESSES)); |
304 RegisterSchema("experimental.rlz", ReadFromResource( | 302 RegisterSchema("experimental.rlz", ReadFromResource( |
305 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RLZ)); | 303 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RLZ)); |
306 RegisterSchema("experimental.runtime", ReadFromResource( | 304 RegisterSchema("experimental.runtime", ReadFromResource( |
307 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RUNTIME)); | 305 IDR_EXTENSION_API_JSON_EXPERIMENTAL_RUNTIME)); |
308 RegisterSchema("experimental.speechInput", ReadFromResource( | 306 RegisterSchema("experimental.speechInput", ReadFromResource( |
309 IDR_EXTENSION_API_JSON_EXPERIMENTAL_SPEECHINPUT)); | 307 IDR_EXTENSION_API_JSON_EXPERIMENTAL_SPEECHINPUT)); |
310 RegisterSchema("experimental.webRequest", ReadFromResource( | 308 RegisterSchema("experimental.webRequest", ReadFromResource( |
311 IDR_EXTENSION_API_JSON_EXPERIMENTAL_WEBREQUEST)); | 309 IDR_EXTENSION_API_JSON_EXPERIMENTAL_WEBREQUEST)); |
312 RegisterSchema("extension", ReadFromResource( | 310 RegisterSchema("extension", ReadFromResource( |
313 IDR_EXTENSION_API_JSON_EXTENSION)); | 311 IDR_EXTENSION_API_JSON_EXTENSION)); |
314 RegisterSchema("fileBrowserHandler", ReadFromResource( | 312 RegisterSchema("fileBrowserHandler", ReadFromResource( |
315 IDR_EXTENSION_API_JSON_FILEBROWSERHANDLER)); | 313 IDR_EXTENSION_API_JSON_FILEBROWSERHANDLER)); |
316 RegisterSchema("fileBrowserPrivate", ReadFromResource( | 314 RegisterSchema("fileBrowserPrivate", ReadFromResource( |
317 IDR_EXTENSION_API_JSON_FILEBROWSERPRIVATE)); | 315 IDR_EXTENSION_API_JSON_FILEBROWSERPRIVATE)); |
318 RegisterSchema("history", ReadFromResource( | 316 RegisterSchema("history", ReadFromResource( |
319 IDR_EXTENSION_API_JSON_HISTORY)); | 317 IDR_EXTENSION_API_JSON_HISTORY)); |
320 RegisterSchema("i18n", ReadFromResource( | 318 RegisterSchema("i18n", ReadFromResource( |
321 IDR_EXTENSION_API_JSON_I18N)); | 319 IDR_EXTENSION_API_JSON_I18N)); |
322 RegisterSchema("idle", ReadFromResource( | 320 RegisterSchema("idle", ReadFromResource( |
323 IDR_EXTENSION_API_JSON_IDLE)); | 321 IDR_EXTENSION_API_JSON_IDLE)); |
324 RegisterSchema("input.ime", ReadFromResource( | 322 RegisterSchema("input.ime", ReadFromResource( |
325 IDR_EXTENSION_API_JSON_INPUT_IME)); | 323 IDR_EXTENSION_API_JSON_INPUT_IME)); |
326 RegisterSchema("inputMethodPrivate", ReadFromResource( | 324 RegisterSchema("inputMethodPrivate", ReadFromResource( |
327 IDR_EXTENSION_API_JSON_INPUTMETHODPRIVATE)); | 325 IDR_EXTENSION_API_JSON_INPUTMETHODPRIVATE)); |
| 326 RegisterSchema("managedModePrivate", ReadFromResource( |
| 327 IDR_EXTENSION_API_JSON_MANAGEDMODEPRIVATE)); |
328 RegisterSchema("management", ReadFromResource( | 328 RegisterSchema("management", ReadFromResource( |
329 IDR_EXTENSION_API_JSON_MANAGEMENT)); | 329 IDR_EXTENSION_API_JSON_MANAGEMENT)); |
330 RegisterSchema("mediaPlayerPrivate", ReadFromResource( | 330 RegisterSchema("mediaPlayerPrivate", ReadFromResource( |
331 IDR_EXTENSION_API_JSON_MEDIAPLAYERPRIVATE)); | 331 IDR_EXTENSION_API_JSON_MEDIAPLAYERPRIVATE)); |
332 RegisterSchema("metricsPrivate", ReadFromResource( | 332 RegisterSchema("metricsPrivate", ReadFromResource( |
333 IDR_EXTENSION_API_JSON_METRICSPRIVATE)); | 333 IDR_EXTENSION_API_JSON_METRICSPRIVATE)); |
334 RegisterSchema("echoPrivate", ReadFromResource( | 334 RegisterSchema("echoPrivate", ReadFromResource( |
335 IDR_EXTENSION_API_JSON_ECHOPRIVATE)); | 335 IDR_EXTENSION_API_JSON_ECHOPRIVATE)); |
336 RegisterSchema("omnibox", ReadFromResource( | 336 RegisterSchema("omnibox", ReadFromResource( |
337 IDR_EXTENSION_API_JSON_OMNIBOX)); | 337 IDR_EXTENSION_API_JSON_OMNIBOX)); |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
714 } | 714 } |
715 } | 715 } |
716 | 716 |
717 void ExtensionAPI::LoadAllSchemas() { | 717 void ExtensionAPI::LoadAllSchemas() { |
718 while (unloaded_schemas_.size()) { | 718 while (unloaded_schemas_.size()) { |
719 LoadSchema(unloaded_schemas_.begin()->second); | 719 LoadSchema(unloaded_schemas_.begin()->second); |
720 } | 720 } |
721 } | 721 } |
722 | 722 |
723 } // namespace extensions | 723 } // namespace extensions |
OLD | NEW |